There was a problem with a Velocity script
Page/football/2009/schedule-master-template
ErrorInvocation of method 'before' in class java.util.Date threw exception java.lang.NullPointerException @ schedule-master-template[152,11]
Page source:
1: ## What dates to show for the scoreboard
2: #set ($week = $request.getParameter("week"))
3: #if ($week == 1)
4:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-09-03"))
5:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-09-08"))
6: #elseif ($week == 2)
7:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-09-10"))
8:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-09-15"))
9: #elseif ($week == 3)
10:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-09-17"))
11:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-09-22"))
12: #elseif ($week == 4)
13:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-09-24"))
14:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-09-29"))
15: #elseif ($week == 5)
16:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-10-01"))
17:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-10-06"))
18: #elseif ($week == 6)
19:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-10-08"))
20:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-10-13"))
21: #elseif ($week == 7)
22:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-10-15"))
23:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-10-20"))
24: #elseif ($week == 8)
25:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-10-22"))
26:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-10-27"))
27: #elseif ($week == 9)
28:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-10-29"))
29:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-11-03"))
30: #elseif ($week == 10)
31:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-11-05"))
32:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-11-10"))
33: #elseif ($week == 11)
34:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-11-12"))
35:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-11-17"))
36: #elseif ($week == 12)
37:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-11-19"))
38:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-11-24"))
39: #elseif ($week == 13)
40:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-11-26"))
41:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-12-01"))
42: #elseif ($week == 14)
43:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-12-03"))
44:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-12-08"))
45: #elseif ($week == 15)
46:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-12-10"))
47:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-12-15"))
48: #elseif ($week == 16)
49:  #set ($start = $tool.date.toDate("yyyy-MM-dd", "2009-12-17"))
50:  #set ($end = $tool.date.toDate("yyyy-MM-dd", "2009-12-22"))
51: #end
52: 
53: 
54: #macro (event $event)
55: 
56: #if ($event.conference || $formatter.isNull($request.getParameter("confonly"), "0").equals("0"))
57: 
58: #set ($row = ($velocityCount + 1) % 2)
59:  #if ($event.home)
60:   <tr class="row$row home">
61:  #else
62:   <tr class="row$row">
63:  #end
64:   <td nowrap valign="top" width="10%">
65:     #set ($theDate= $formatter.formatDate($event.date, "MMM. d"))
66:     #if (! $lastDate.equals($theDate))<b>$theDate</b>
67:     #else
68:       &nbsp;
69:     #end
70:   #set ($lastDate = $theDate)
71:   </td>
72:   <td nowrap valign="top">
73:     $formatter.formatSiteTime($event)
74:   </td>
75:  #foreach ($team in $event.teams)
76:   <td valign="top">
77: #set ($teamname = $team.name)
78: #set ($d3opponentname = "")
79: #set ($d3opponentname = $ournames.get($teamname))
80: #if ($d3opponentname.length() > 0)
81: 
82: ## put rankings here
83: #set ($ranking = "")
84: #set ($ranking = $rankings.get($d3opponentname))
85: #if ($ranking.length() > 0)
86: No. $ranking
87: #end
88: 
89: 
90: <a href="http://www.d3football.com/school_info.php?year=2009&school=$formatter.encodeURL($d3opponentname)" target="_parent">$d3opponentname</a>
91: #else
92:       $team.name
93: #end
94:   </td>
95:   <td align="center" valign="top" style="padding-left: 10px; padding-right: 10px;"#if ($event.inProgress) class="inprogress"#end>
96:       $team.result
97:   </td>
98:  #end
99: 
100:   <td valign="top"#if ($event.inProgress) class="inprogress"#end>$event.status</td>
101:   <td valign="top">
102: 
103: #set ($linkhtml = "")
104: #set ($gallery = "")
105: #foreach ($link in $event.links)
106:   #if ($event.statusCode < 0 or ($link.name != "Audio" and $link.name != "Video" and $link.name != "Live stats"))
107:     #if ($link.name != "Recap") #set ($target = "_blank") #else #set ($target = "_parent") #end
108:     #if ($link.name == "Photo gallery") #set ($gallery = "<a href='$link.url' target='${target}'><img border='0' src='http://d3sports.prestosports.com/icons/gallery.gif' /></a>&nbsp;")
109:     #else #set ($linkhtml = "${linkhtml} <a href='$link.url' target='${target}'>$link.name</a>&nbsp;")
110:     #end
111:   #end
112: #end
113:    #if ($linkhtml.length() > 0)
114: <div id="showlinks${event.eventId}">
115: <a href="javascript:void(0);"
116:      onmouseover="return overlib('${formatter.javascriptSingleQuoteEscape($linkhtml)}', NOCLOSE, WRAP,
117:       REF, 'showlinks${event.eventId}', REFC, 'UL', REFP, 'UR', FGCOLOR, '#FFFFFF', BORDER, 1, BGCOLOR, '#666666')" onmouseout="nd(1000);">
118: <img border="0" src="http://d3scoreboard.prestosports.com/schedulelink.gif" /></a></div>
119: 
120:    #end
121:   </td>
122:   <td valign="middle">
123:    #if ($gallery.length() > 0) ${gallery} #end
124:   </td>
125:   <td valign="top">
126:    #if ($event.notes.length() > 0 || $event.neutralSite.length() > 0)
127:    <img border="0" id="show${event.eventId}" src="http://d3scoreboard.prestosports.com/schedulenote.gif" />
128:    #end
129:   </td>
130:  </tr>
131: 
132:    #if ($event.notes.length() > 0 || $event.neutralSite.length() > 0)
133:  <tr>
134:   <td colspan="2"></td>
135:   <td colspan="5">  
136:    <div class="notes" id="note${event.eventId}" style="display: none">
137:    $!event.notes
138:    #if ($event.neutralSite.length() > 0)
139:     at $event.neutralSite
140:    #end
141:    </div>
142: 
143:   </td>
144:   <td colspan="2"></td>
145:  </tr>
146:    #end ## if notes/neutral site
147:  #end ## if show conference only
148: #end ## macro
149: 
150: $website.include("/football/2009/d3teams?tmpl=standings-d3names-template")
151: #set ($ournames = $request.getAttribute("ournames"))
152: #if ($now.before($end))
153: #set ($rankings = $request.getAttribute("rankings"))
154: #end ## whether to show rankings
155: #set( $unranked = ["Not"] ) ## ArrayList
156: #set( $inprogress = ["Not"] ) ## ArrayList
157: #set( $ranked = {"banana" : "good"}) ## Map
158: $unranked.clear() ## No blank line
159: $inprogress.clear() ## No blank line
160: $ranked.clear() ## No blank line
161: 
162: 
163: 
164: ## Go through all the events and organize the ones that are ranked
165: 
166: 
167: ## ADDED SINCE SCHEDULE HAS MORE THAN 500 EVENTS
168: #set ($scheduleBlocks = $schedule.events.size() / 100)
169: #set ($blockRange = [0..$scheduleBlocks])
170: #foreach ($block in $blockRange)
171: #set ($min = $block * 100)
172: #set ($max = $block * 100 + 100)
173: #if ($max > $schedule.events.size())
174:   #set ($max = $schedule.events.size())
175: #end
176: #set ($events = $schedule.events.subList($min, $max))
177: <!-- blocks range: $min to $max -->
178: 
179: 
180: #foreach ($event in $events)
181: 
182: ## #foreach ($event in $schedule.events)
183:  #if ($event.date.before($end) and $event.date.after($start))
184:   #set ($ranking = 26)
185:   #foreach ($team in $event.teams)
186:     #set ($teamname = $team.name)
187:     #set ($d3opponentname = "")
188:     #set ($d3opponentname = $ournames.get($teamname))
189:     #if ($d3opponentname.length() > 0)
190: 
191: 
192:       ## put rankings here
193:       #set ($teamranking = "")
194:       #set ($teamranking = $rankings.get($d3opponentname))
195:       #if ($teamranking.length() > 0) 
196:         #set ($teamranking = $tool.math.toNumber($teamranking))
197:       #end
198:       #if ($teamranking < $ranking)
199:         #set ($ranking = $teamranking)
200:       #end
201:     #end
202: 
203:   #end
204:   #if ($ranking < 26)
205:     #set ($ignoreme = $ranked.put($ranking, $event))
206:   #elseif ($event.inProgress)
207:     #set ($ignoreme = $inprogress.add($event))
208:   #else
209:     #set ($ignoreme = $unranked.add($event))
210:   #end
211:  #end
212: #end
213: 
214: 
215: #end  ## END FOREACH BLOCK RANGE
216: 
217: <style type="text/css">
218:  .yui-overlay { border:1px solid gray;padding:1px;margin:0px; background: white; position: absolute;}
219:  .yui-overlay .bd { padding:1px; text-align: right; white-space: nowrap; }
220:  .notes { background-color: lightgrey; }
221:  .schedule-header { font-weight: bold; text-align: center;}
222: </style>
223: 
224: #set ($lastdate = "8/1/2005")
225: $wiki
226: <table id="scheduletable" class="schedule" align="center" border="0">
227:  <tr class="title">
228:   <td colspan="9">D3football.com Scoreboard</td>
229:  </tr>
230:  <tr>
231:   <td align="center" colspan="9">
232:    (* Conference; &bull; Region; # Postseason. <span style='background-color: #FFFF00'>Games in progress</span>)</td>
233:  </tr>
234: #*
235:  <tr>
236:   <td align="center"colspan="9">
237:    <a href="standings">Standings</a>  |  <a href="schedule">Composite Schedule</a>  |  <a href="schedule?confonly=1">Conference Schedule</a>
238:   </td>
239:  </tr>
240: *#
241:   <tr class="header">
242:     <td>Date</td>
243:     <td>Time</td>
244:     <td colspan="2">Away Team</td>
245:     <td colspan="2">Home Team</td>
246:     <td>Status</td>
247:     <td colspan="3">Links</td>
248:   </tr>
249: 
250: #set( $ranks = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25] )
251: 
252: #foreach ($rank in $ranks)
253:  #if ($ranked.get($rank))
254: #event($ranked.get($rank))
255:  #end
256: #end
257: #set ($lastDate = "")
258: #foreach ($event in $inprogress)
259: #event($event)
260: #end
261: #set ($lastDate = "")
262: #foreach ($event in $unranked)
263: #event($event)
264: #end
265: </table>
266: 
267: 
268: <script LANGUAGE="JavaScript">
269: YAHOO.namespace("presto");
270: 
271: function init() {
272: 
273: #foreach ($event in $events)
274: ## #foreach ($event in $schedule.events)
275:  #if ($event.notes.length() > 0 || $event.neutralSite.length() > 0)
276: YAHOO.presto.note${event.eventId} = new YAHOO.widget.Module("note${event.eventId}", { visible: false });
277: YAHOO.presto.note${event.eventId}.render();
278: YAHOO.presto.show${event.eventId} = new YAHOO.widget.Module("show${event.eventId}", { visible: true});
279: YAHOO.presto.show${event.eventId}.render();
280: YAHOO.util.Event.addListener("show${event.eventId}", "mouseover", YAHOO.presto.note${event.eventId}.show, YAHOO.presto.note${event.eventId}, true);
281: YAHOO.util.Event.addListener("show${event.eventId}", "mouseout", YAHOO.presto.note${event.eventId}.hide, YAHOO.presto.note${event.eventId}, true);
282:  #end
283: #end
284: }
285: 
286: YAHOO.util.Event.addListener(window, "load", init);
287: </script>
288: 
289: $sfs
290: 
291: $wiki