Häiriötiedote avattu

Virhe tapahtui prosessoidessa esitysmallia.
The following has evaluated to null or missing:
==> saxReaderUtil.readURL("http://service.pohjoiskarjala.net/jvht?id=" + ht_id)  [in template "144156#144190#1737921" at line 64, column 23]

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

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign document = saxReaderUtil.read...  [in template "144156#144190#1737921" at line 64, column 3]
----
1<style type="text/css"> 
2.virhe { 
3    display: none; 
4
5.signed-in.controls-visible .virhe { 
6    display: block; 
7    color: #f00; 
8
9.a-hairiotiedote, .a-ot { 
10    display: table; 
11    margin-bottom: 10px; 
12    width: 100%; 
13
14.a-hairiotiedote-otsikko h1, .a-ot-otsikko h1 { 
15    margin: 0; 
16
17.a-hairiotiedote-head, .a-ot-head { 
18    display: table-row; 
19
20.a-hairiotiedote-otsikko, .a-hairiotiedote-pvm, .a-ot-otsikko, .a-ot-pvm { 
21    display: table-cell; 
22    width: auto; 
23    padding-bottom: 33px; 
24
25.a-hairiotiedote-pvm, .a-ot-pvm { 
26    text-align: right; 
27    vertical-align: top; 
28    font-size: 12px; 
29
30.a-hairiotiedote-pvm h3, .a-ot-pvm h3 { 
31    font-weight: normal; 
32    margin: 0; 
33    font-size: 17px; 
34
35.a-hairiotiedote-kuvaus, .a-hairiotiedote-vaikutus, .a-hairiotiedote-ohje, .a-hairiotiedote-vedenjakelu, .a-hairiotiedote-nimi, .a-ot-tapahtuma, .a-ot-osalliset, .a-ot-yksikot, .a-ot-kuvaus { 
36    padding-left: 30px; 
37    margin-bottom: 20px; 
38    margin-top: 20px; 
39
40.a-back { 
41    color: #3c9de1; 
42    text-align: right; 
43    width: 100%; 
44
45.a-back:hover{ 
46    cursor: hand; 
47    cursor: pointer; 
48    color: #000; 
49
50</style> 
51<!-- Otetaan id parametri --> 
52<#if Tyyli.getData() == "vesi"> 
53  <#assign current_url = request.attributes.CURRENT_COMPLETE_URL> 
54  <#assign paramName = "ht_id"> 
55  <#assign ht_id = httpUtil.getParameter(current_url, paramName)> 
56<#elseif Tyyli.getData() == "pela"> 
57  <#assign current_url = request.attributes.CURRENT_COMPLETE_URL> 
58  <#assign paramName = "pkplot"> 
59  <#assign pkplot = httpUtil.getParameter(current_url, paramName)> 
60</#if> 
61 
62<!-- Ladataan xml häiriötiedotteista --> 
63<#if Tyyli.getData() == "vesi"> 
64  <#assign document = saxReaderUtil.readURL("http://service.pohjoiskarjala.net/jvht?id=" + ht_id)> 
65<#elseif Tyyli.getData() == "pela"> 
66  <#assign document = saxReaderUtil.readURL("http://service.pohjoiskarjala.net/pkplot?id=" + pkplot)> 
67</#if> 
68 
69<!-- Tarkastetaan saaatiinko yhteys --> 
70<#if document.getRootElement()??> 
71<#assign root = document.getRootElement()> 
72<!-- Tarkastetaan tuliko virhettä rajapinnalta --> 
73<#assign error = root.selectSingleNode("/vastaus/status")><#if error.text == "error"><div class="virhe">Virhe: Tiedotetta ei löydetty.</div> 
74<#else><#assign tiedotteet = root.selectNodes("/vastaus/tiedote")> 
75<!-- VESI tulostus --> 
76<#if Tyyli.getData() == "vesi"> 
77    <#foreach tiedote in tiedotteet><#assign id = tiedote.selectSingleNode("id")><#assign otsikko = tiedote.selectSingleNode("otsikko")><#assign kuvaus = tiedote.selectSingleNode("kuvaus")><#assign vaikutus = tiedote.selectSingleNode("vaikutus")><#assign ohje = tiedote.selectSingleNode("ohje")><#assign vedenjakelu = tiedote.selectSingleNode("vedenjakelu")><#assign nimi = tiedote.selectSingleNode("nimi")><#assign pvm = tiedote.selectSingleNode("paivitetty/pvm")><#assign klo = tiedote.selectSingleNode("paivitetty/klo")> 
78    <div class="a-hairiotiedote"> 
79    <div class="a-hairiotiedote-head"> 
80      <div class="a-hairiotiedote-otsikko"> 
81      <h1> ${otsikko.text}</h1> 
82      </div> 
83      <div class="a-hairiotiedote-pvm"> 
84        <h3>TIEDOTE</h3>${pvm.text} klo:${klo.text} 
85      </div> 
86    </div> 
87    <#if kuvaus.text != ""><b>Kuvaus:</b> 
88      <div class="a-hairiotiedote-kuvaus"> 
89      ${kuvaus.text} 
90      </div> 
91    </#if><#if vaikutus.text != ""> <b>Vaikutus:</b> 
92      <div class="a-hairiotiedote-vaikutus"> 
93      ${vaikutus.text} 
94      </div> 
95    </#if><#if ohje.text != ""><b>Ohje:</b> 
96      <div class="a-hairiotiedote-ohje"> 
97        ${ohje.text} 
98      </div> 
99    </#if><#if vedenjakelu.text != ""> <b>Vedenjakelu:</b> 
100      <div class="a-hairiotiedote-vedenjakelu"> 
101        ${vedenjakelu.text} 
102      </div> 
103    </#if><#if nimi.text != ""> <b>Lisätietoja:</b> 
104      <div class="a-hairiotiedote-nimi"> 
105      ${nimi.text}, päivystävä mestari <br/> 
106    Joensuun Vesi<br/> 
107    puh. 013 337 3599 
108      </div> 
109    </#if></div> 
110    <b>Päivitetty:</b> 
111    <div class="a-hairiotiedote-ohje"> 
112    ${pvm.text}  klo:${klo.text}<br/> 
113    </div> 
114    <br/> 
115    Pahoittelemme häiriötä ja pyrimme tiedottamaan asiasta lisää välittömästi tilanteen muuttuessa. Pyydämme Teitä ensisijaisesti seuraamaan internetsivujamme (http://www.joensuunvesi.fi) ja muita paikallisia tiedotusvälineitä sekä toivomme Teidän huomioivan myös tiedottamisen lähinaapureille mahdollisuuksienne mukaan. 
116    <br/> 
117    <br/> 
118    <!-- Veden loop lopputagi --> 
119</#foreach> 
120<!-- PELAN tulostus --> 
121<#elseif Tyyli.getData() == "pela"> 
122<#foreach tiedote in tiedotteet> 
123  <#assign id = tiedote.selectSingleNode("id")> 
124  <#assign otsikko = tiedote.selectSingleNode("otsikko")> 
125  <#assign pvm = tiedote.selectSingleNode("paivays/pvm")> 
126  <#assign klo = tiedote.selectSingleNode("paivays/klo")> 
127  <#assign versio = tiedote.selectSingleNode("versio")> 
128  <#assign tehtavalaji = tiedote.selectSingleNode("tehtava/tehtavalaji")> 
129  <#assign tapahtumapaikka = tiedote.selectSingleNode("tehtava/tapahtumapaikka")> 
130  <#assign osoite = tiedote.selectSingleNode("tehtava/osoite")> 
131  <#assign kestoarvo = tiedote.selectSingleNode("tehtava/kesto/kestoarvo")> 
132  <#assign kestoyksikko = tiedote.selectSingleNode("tehtava/kesto/kestoyksikko")> 
133  <#assign vaihe = tiedote.selectSingleNode("tehtava/vaihe")> 
134  <#assign osallisia = tiedote.selectSingleNode("henkilot/osallisia")> 
135  <#assign eihenkilovahinkoja = tiedote.selectSingleNode("henkilot/eihenkilovahinkoja")> 
136  <#assign lievasti = tiedote.selectSingleNode("henkilot/lievasti")> 
137  <#assign vakavasti = tiedote.selectSingleNode("henkilot/vakavasti")> 
138  <#assign kp_pkssk = tiedote.selectSingleNode("henkilot/kp_pkssk")> 
139  <#assign kp_muu = tiedote.selectSingleNode("henkilot/kp_muu")> 
140  <#assign poliisitiedottaa = tiedote.selectSingleNode("henkilot/poliisitiedottaa")> 
141  <#assign menehtyneita = tiedote.selectSingleNode("henkilot/menehtyneita")> 
142  <#assign asemat = tiedote.selectNodes("yksikot/pela/asema")> 
143  <#assign poliisi = tiedote.selectSingleNode("yksikot/poliisi")> 
144  <#assign ambulanssi = tiedote.selectSingleNode("yksikot/ambulanssi")> 
145  <#assign rajavartiolaitos = tiedote.selectSingleNode("yksikot/rajavartiolaitos")> 
146  <#assign tulli = tiedote.selectSingleNode("yksikot/tulli")> 
147  <#assign muut = tiedote.selectSingleNode("yksikot/muutyksikot")> 
148  <#assign kuvaus = tiedote.selectSingleNode("kuvaus")> 
149  <#assign ud_pvm = tiedote.selectSingleNode("paivitetty/pvm")> 
150  <#assign ud_klo = tiedote.selectSingleNode("paivitetty/klo")> 
151<div class="a-ot"> 
152<div class="a-ot-head"> 
153  <div class="a-ot-otsikko"> 
154   <h1>${tapahtumapaikka.text} - ${tehtavalaji.text} - ${otsikko.text}</h1> 
155  </div> 
156  <div class="a-ot-pvm"> 
157    <h3>TIEDOTE ${versio.text}</h3>${ud_pvm.text} klo:${ud_klo.text} 
158  </div> 
159</div> 
160 
161<div class="a-ot-tapahtuma"> 
162<#if kestoarvo.text != "" && kestoyksikko.text != "" && vaihe.text != "">   Kesto: ${kestoarvo.text} ${kestoyksikko.text} ${vaihe.text}<br/> 
163</#if></div> 
164<!-- Tarkastetaan onko mitään tietoja syötetty henkilövahingoista --> 
165<#if osallisia.text != "" || eihenkilovahinkoja.text != "0" || lievasti.text != "" || vakavasti.text != "" || menehtyneita.text != "" || kp_pkssk.text != "" || kp_muu.text != "" || poliisitiedottaa.text != 0>	<b>Henkilövahingot:</b> 
166	<div class="a-ot-osalliset"> 
167	<#if osallisia.text != "">	   Onnettomuudessa osallisena olleet henkilöt: ${osallisia.text}<br/> 
168	</#if> 
169	<#if eihenkilovahinkoja.text == "1">	   Ei henkilövahinkoja. 
170	<#else>	  <#if lievasti.text != "">	   - lievästi loukkaantuneita: ${lievasti.text}<br/> 
171	  </#if>	  <#if vakavasti.text != "">	   - vakavasti loukkaantuneita: ${vakavasti.text}<br/> 
172	  </#if>	  <#if menehtyneita.text != "" && poliisitiedottaa.text != 1>	   - menehtyneitä: ${menehtyneita.text}<br/> 
173	  </#if>	  <#if kp_pkssk.text != "">	   - keskussairaalaan kuljetettuja: ${kp_pkssk.text}<br/> 
174	  </#if>	  <#if kp_muu.text != "">	   - muualle kuin keskussairaalaan kuljetettuja: ${kp_muu.text}<br/> 
175	  </#if>	</#if>   
176  <#if poliisitiedottaa.text == "1" && eihenkilovahinkoja.text != "1">	   <br/>Poliisi tiedottaa henkilövahingoista myöhemmin.<br/> 
177	</#if>	</div> 
178</#if><!-- Tarkastetaan onko yhtään yksikköä lähetetty --> 
179<#assign tark = 0><#foreach asema in asemat>	<#if asema.text != ""><#assign tark = tark + 1>	</#if></#foreach> 
180<#if (tark>0)>	<b>Yksiköitä lähetettiin paikalle seuraavasti:</b> 
181	<div class="a-ot-yksikot"> 
182 
183	  <#if asemat?size gt 0 >	    Paikalle lähetettiin pelastushenkilöstöä seuraavilta paloasemilta:<br/> 
184	    <#foreach asema in asemat>	      - ${asema.text}<br/> 
185	    </#foreach>	    <br/> 
186	  </#if>	  <#if poliisi.text != "">	   Poliisipartioita: ${poliisi.text}<br/> 
187	  </#if>	  <#if ambulanssi.text != "">	   Ambulansseja: ${ambulanssi.text}<br/> 
188	  </#if>	  <#if rajavartiolaitos.text != "">	   Rajavartiolaitoksen yksiköitä: ${rajavartiolaitos.text}<br/> 
189	  </#if>	  <#if tulli.text != "">	   Tullin yksiköitä: ${tulli.text}<br/> 
190	  </#if>    <#if muut.text != "">	   Muita yksiköitä: ${muut.text}<br/> 
191	  </#if>	</div> 
192</#if>	 
193 <b>Tapahtuman kuvaus / alkutiedot, pelastustoimenpiteet, valistustoimenpiteet ja muuta huomioitavaa:</b> 
194<div class="a-ot-kuvaus"> 
195  <#if ud_pvm.text != "" && ud_klo.text != "">    ${pvm.text} klo:${klo.text}<br/> 
196  </#if>  <#if kuvaus != "">   ${kuvaus.text}<br/> 
197  </#if></div> 
198 
199</div> 
200 
201 
202<!-- PELAN loop lopputagi --> 
203</#foreach> 
204 
205<!-- PELAN tulostuksen lopputagi --> 
206</#if> 
207<!-- Error koodin lopputagi --> 
208</#if> 
209<#else><div class="virhe">Virhe: Varauksien haku ei ole tällä hetkellä käytettävissi.</div> 
210</#if><p class="a-back" onclick="takaisin()">« Takaisin</p> 
211 
212<script> 
213function takaisin() { 
214     history.go(-1); 
215
216</script>