3 <title>tests coverage</title>
4 <link rel ="stylesheet" type="text/css" href="../../../../style.css" title="Style">
5 <script type="text/javascript" src="../../../../sorttable.js"></script>
6 <script type="text/javascript">
7 targetPage = "" + window.location.search;
8 if (targetPage != "" && targetPage != "undefined")
9 targetPage = targetPage.substring(1);
10 if (targetPage.indexOf(":") != -1 || (targetPage != "" && !validURL(targetPage)))
11 targetPage = "undefined";
12 function validURL(url) {
13 var pos = url.indexOf(".html");
14 if (pos == -1 || pos != url.length - 5)
16 var allowNumber = false;
19 for (var i = 0; i < url.length - 5; i++) {
20 var ch = url.charAt(i);
21 if ('a' <= ch && ch <= 'z' ||
22 'A' <= ch && ch <= 'Z' ||
27 } else if ('0' <= ch && ch <= '9' ||
31 } else if (ch == '/' || ch == '.') {
38 if (ch == '/' && seenDot)
46 function loadFrames() {
47 if (targetPage != "" && targetPage != "undefined")
48 top.classFrame.location = top.targetPage;
56 <a href="../../../../index.html?net/jaekl/qd/http/RequestBroker.html" target="_top">Frames</a>
57 <a href="RequestBroker.html" target="_top">No Frames</a>
62 <table cellspacing="0" cellpadding="0"class="report">
64 <th class="report"> </th>
65 <th class="report">%method</th>
66 <th class="report">%block</th>
67 <th class="report">%branch</th>
68 <th class="report">%line</th>
71 <td class="reportText"><span class="text">net.jaekl.qd.http.RequestBroker</span></td>
72 <td class="reportValue"><table class="percentGraph" cellpadding="0" cellspacing="0" align="right"><tr><td><span class="text"><b>83</b>%(5/6)</span></td><td><table class="percentGraph" cellpadding="0" cellspacing="0"><tr><td class="percentCovered" width=" 83"></td><td class="percentUnCovered" width="17.0"></td></tr></table></td></tr></table></td>
73 <td class="reportValue"><table class="percentGraph" cellpadding="0" cellspacing="0" align="right"><tr><td><span class="text"><b>50</b>%(14/28)</span></td><td><table class="percentGraph" cellpadding="0" cellspacing="0"><tr><td class="percentCovered" width=" 50"></td><td class="percentUnCovered" width="50.0"></td></tr></table></td></tr></table></td>
74 <td class="reportValue"><table class="percentGraph" cellpadding="0" cellspacing="0" align="right"><tr><td><span class="text"><b>40</b>%(4/10)</span></td><td><table class="percentGraph" cellpadding="0" cellspacing="0"><tr><td class="percentCovered" width=" 40"></td><td class="percentUnCovered" width="60.0"></td></tr></table></td></tr></table></td>
75 <td class="reportValue"><table class="percentGraph" cellpadding="0" cellspacing="0" align="right"><tr><td><span class="text"><b>53</b>%(31/58)</span></td><td><table class="percentGraph" cellpadding="0" cellspacing="0"><tr><td class="percentCovered" width=" 53"></td><td class="percentUnCovered" width="47.0"></td></tr></table></td></tr></table></td>
80 <table cellspacing="0" cellpadding="0"class="report" id="mcoverage">
82 <th class="report">hit count</th>
83 <th class="report">method name</th>
84 <th class="report">method modifiers</th>
85 <th class="report">method signature</th>
88 <td class="reportValue_covered"><span class="text">1</span></td>
89 <td class="reportText"><span class="text"><a href="#src_31"><clinit></a></span></td>
90 <td class="reportText"><span class="text">[static]</span></td>
91 <td class="reportText"><span class="text">void <clinit>()</span></td>
94 <td class="reportValue_covered"><span class="text">9</span></td>
95 <td class="reportText"><span class="text"><a href="#src_40"><init></a></span></td>
96 <td class="reportText"><span class="text">[public]</span></td>
97 <td class="reportText"><span class="text">void <init>(java.lang.String,java.util.ArrayList)</span></td>
100 <td class="reportValue_uncovered"><span class="text">0</span></td>
101 <td class="reportText"><span class="text"><a href="#src_49">doSubmit</a></span></td>
102 <td class="reportText"><span class="text">[]</span></td>
103 <td class="reportText"><span class="text">java.io.InputStream doSubmit(java.lang.String,java.util.ArrayList)</span></td>
106 <td class="reportValue_covered"><span class="text">1</span></td>
107 <td class="reportText"><span class="text"><a href="#src_84">submit</a></span></td>
108 <td class="reportText"><span class="text">[public]</span></td>
109 <td class="reportText"><span class="text">java.lang.String submit(java.lang.String,java.util.ArrayList)</span></td>
112 <td class="reportValue_covered"><span class="text">5</span></td>
113 <td class="reportText"><span class="text"><a href="#src_111">submitAndParse</a></span></td>
114 <td class="reportText"><span class="text">[public]</span></td>
115 <td class="reportText"><span class="text">net.jaekl.qd.xml.ParseResult submitAndParse(java.lang.String,java.util.ArrayList,java.lang.Class)</span></td>
118 <td class="reportValue_covered"><span class="text">4</span></td>
119 <td class="reportText"><span class="text"><a href="#src_120">submitAndParse</a></span></td>
120 <td class="reportText"><span class="text">[public]</span></td>
121 <td class="reportText"><span class="text">net.jaekl.qd.xml.ParseResult submitAndParse(java.lang.String,java.util.ArrayList,java.lang.Class,java.lang.String)</span></td>
125 <table cellspacing="0" cellpadding="0" class="src">
127 <td class="numLine"> 1</td>
128 <td class="nbHits"> </td>
129 <td class="src"><pre class="src"> <span Class="comment">// Copyright (C) 2004, 2014 Christian Jaekl</span></pre></td>
132 <td class="numLine"> 2</td>
133 <td class="nbHits"> </td>
134 <td class="src"><pre class="src"> </pre></td>
137 <td class="numLine"> 3</td>
138 <td class="nbHits"> </td>
139 <td class="src"><pre class="src"> <span Class="keyword">package</span> net.jaekl.qd.http;</pre></td>
142 <td class="numLine"> 4</td>
143 <td class="nbHits"> </td>
144 <td class="src"><pre class="src"> </pre></td>
147 <td class="numLine"> 5</td>
148 <td class="nbHits"> </td>
149 <td class="src"><pre class="src"> <span Class="keyword">import</span> java.io.BufferedReader;</pre></td>
152 <td class="numLine"> 6</td>
153 <td class="nbHits"> </td>
154 <td class="src"><pre class="src"> <span Class="keyword">import</span> java.io.IOException;</pre></td>
157 <td class="numLine"> 7</td>
158 <td class="nbHits"> </td>
159 <td class="src"><pre class="src"> <span Class="keyword">import</span> java.io.InputStream;</pre></td>
162 <td class="numLine"> 8</td>
163 <td class="nbHits"> </td>
164 <td class="src"><pre class="src"> <span Class="keyword">import</span> java.io.InputStreamReader;</pre></td>
167 <td class="numLine"> 9</td>
168 <td class="nbHits"> </td>
169 <td class="src"><pre class="src"> <span Class="keyword">import</span> java.io.UnsupportedEncodingException;</pre></td>
172 <td class="numLine"> 10</td>
173 <td class="nbHits"> </td>
174 <td class="src"><pre class="src"> <span Class="keyword">import</span> java.lang.reflect.InvocationTargetException;</pre></td>
177 <td class="numLine"> 11</td>
178 <td class="nbHits"> </td>
179 <td class="src"><pre class="src"> <span Class="keyword">import</span> java.util.ArrayList;</pre></td>
182 <td class="numLine"> 12</td>
183 <td class="nbHits"> </td>
184 <td class="src"><pre class="src"> </pre></td>
187 <td class="numLine"> 13</td>
188 <td class="nbHits"> </td>
189 <td class="src"><pre class="src"> <span Class="keyword">import</span> net.jaekl.qd.QDException;</pre></td>
192 <td class="numLine"> 14</td>
193 <td class="nbHits"> </td>
194 <td class="src"><pre class="src"> <span Class="keyword">import</span> net.jaekl.qd.util.ExceptionUtils;</pre></td>
197 <td class="numLine"> 15</td>
198 <td class="nbHits"> </td>
199 <td class="src"><pre class="src"> <span Class="keyword">import</span> net.jaekl.qd.xml.ParseHandler;</pre></td>
202 <td class="numLine"> 16</td>
203 <td class="nbHits"> </td>
204 <td class="src"><pre class="src"> <span Class="keyword">import</span> net.jaekl.qd.xml.ParseResult;</pre></td>
207 <td class="numLine"> 17</td>
208 <td class="nbHits"> </td>
209 <td class="src"><pre class="src"> </pre></td>
212 <td class="numLine"> 18</td>
213 <td class="nbHits"> </td>
214 <td class="src"><pre class="src"> <span Class="keyword">import</span> org.apache.http.HttpEntity;</pre></td>
217 <td class="numLine"> 19</td>
218 <td class="nbHits"> </td>
219 <td class="src"><pre class="src"> <span Class="keyword">import</span> org.apache.http.HttpResponse;</pre></td>
222 <td class="numLine"> 20</td>
223 <td class="nbHits"> </td>
224 <td class="src"><pre class="src"> <span Class="keyword">import</span> org.apache.http.NameValuePair;</pre></td>
227 <td class="numLine"> 21</td>
228 <td class="nbHits"> </td>
229 <td class="src"><pre class="src"> <span Class="keyword">import</span> org.apache.http.client.HttpClient;</pre></td>
232 <td class="numLine"> 22</td>
233 <td class="nbHits"> </td>
234 <td class="src"><pre class="src"> <span Class="keyword">import</span> org.apache.http.client.config.RequestConfig;</pre></td>
237 <td class="numLine"> 23</td>
238 <td class="nbHits"> </td>
239 <td class="src"><pre class="src"> <span Class="keyword">import</span> org.apache.http.client.entity.UrlEncodedFormEntity;</pre></td>
242 <td class="numLine"> 24</td>
243 <td class="nbHits"> </td>
244 <td class="src"><pre class="src"> <span Class="keyword">import</span> org.apache.http.client.methods.HttpPost;</pre></td>
247 <td class="numLine"> 25</td>
248 <td class="nbHits"> </td>
249 <td class="src"><pre class="src"> <span Class="keyword">import</span> org.apache.http.impl.client.HttpClientBuilder;</pre></td>
252 <td class="numLine"> 26</td>
253 <td class="nbHits"> </td>
254 <td class="src"><pre class="src"> <span Class="keyword">import</span> org.xml.sax.InputSource;</pre></td>
257 <td class="numLine"> 27</td>
258 <td class="nbHits"> </td>
259 <td class="src"><pre class="src"> <span Class="keyword">import</span> org.xml.sax.SAXException;</pre></td>
262 <td class="numLine"> 28</td>
263 <td class="nbHits"> </td>
264 <td class="src"><pre class="src"> <span Class="keyword">import</span> org.xml.sax.XMLReader;</pre></td>
267 <td class="numLine"> 29</td>
268 <td class="nbHits"> </td>
269 <td class="src"><pre class="src"> <span Class="keyword">import</span> org.xml.sax.helpers.XMLReaderFactory;</pre></td>
272 <td class="numLine"> 30</td>
273 <td class="nbHits"> </td>
274 <td class="src"><pre class="src"> </pre></td>
277 <td class="numLineCover"> 31<a name="src_31"></a></td>
278 <td class="nbHitsCovered"> Block: 1/1 </td>
279 <td class="src"><pre class="src"> <span Class="keyword">public</span> <span Class="keyword">class</span> RequestBroker</span></pre></td>
282 <td class="numLine"> 32</td>
283 <td class="nbHits"> </td>
284 <td class="src"><pre class="src"> {</pre></td>
287 <td class="numLineCover"> 33</td>
288 <td class="nbHits"> </td>
289 <td class="src"><pre class="src"> <span Class="keyword">final</span> String UTF_8 = <span Class="string">"UTF-8"</span>;</pre></td>
292 <td class="numLineCover"> 34</td>
293 <td class="nbHits"> </td>
294 <td class="src"><pre class="src"> <span Class="keyword">final</span> <span Class="keyword">int</span> TIMEOUT_MSEC = 5000; <span Class="comment">// Allow at most 5 seconds before we declare the server to be unresponsive</span></pre></td>
297 <td class="numLine"> 35</td>
298 <td class="nbHits"> </td>
299 <td class="src"><pre class="src"> </pre></td>
302 <td class="numLine"> 36</td>
303 <td class="nbHits"> </td>
304 <td class="src"><pre class="src"> String m_gatewayUrl;</pre></td>
307 <td class="numLine"> 37</td>
308 <td class="nbHits"> </td>
309 <td class="src"><pre class="src"> ArrayList<NameValuePair> m_baseParams;</pre></td>
312 <td class="numLine"> 38</td>
313 <td class="nbHits"> </td>
314 <td class="src"><pre class="src"> </pre></td>
317 <td class="numLine"> 39</td>
318 <td class="nbHits"> </td>
319 <td class="src"><pre class="src"> <span Class="keyword">public</span> RequestBroker(String gatewayUrl, ArrayList<NameValuePair> baseParams)</pre></td>
322 <td class="numLineCover"> 40<a name="src_40"></a></td>
323 <td class="nbHitsCovered"> Block: 1/1 </td>
324 <td class="src"><pre class="src"> {</span></pre></td>
327 <td class="numLineCover"> 41</td>
328 <td class="nbHits"> </td>
329 <td class="src"><pre class="src"> m_gatewayUrl = gatewayUrl;</pre></td>
332 <td class="numLineCover"> 42</td>
333 <td class="nbHits"> </td>
334 <td class="src"><pre class="src"> m_baseParams = <span Class="keyword">new</span> ArrayList<NameValuePair>(baseParams);</pre></td>
337 <td class="numLineCover"> 43</td>
338 <td class="nbHits"> </td>
339 <td class="src"><pre class="src"> }</pre></td>
342 <td class="numLine"> 44</td>
343 <td class="nbHits"> </td>
344 <td class="src"><pre class="src"> </pre></td>
347 <td class="numLine"> 45</td>
348 <td class="nbHits"> </td>
349 <td class="src"><pre class="src"> <span Class="comment">// NB: Caller is responsible for close()ing the returned InputStream</span></pre></td>
352 <td class="numLine"> 46</td>
353 <td class="nbHits"> </td>
354 <td class="src"><pre class="src"> <span Class="comment">//</span></pre></td>
357 <td class="numLine"> 47</td>
358 <td class="nbHits"> </td>
359 <td class="src"><pre class="src"> InputStream doSubmit(String method, ArrayList<NameValuePair> passedParams) <span Class="keyword">throws</span> QDException</pre></td>
362 <td class="numLine"> 48</td>
363 <td class="nbHits"> </td>
364 <td class="src"><pre class="src"> {</pre></td>
367 <td class="numLineUnCover"> 49<a name="src_49"></a></td>
368 <td class="nbHitsUncovered"> Block: 0/1 </td>
369 <td class="src"><pre class="src"> ArrayList<NameValuePair> params = <span Class="keyword">new</span> ArrayList<NameValuePair>(m_baseParams);</span></pre></td>
372 <td class="numLineUnCover"> 50</td>
373 <td class="nbHits"> </td>
374 <td class="src"><pre class="src"> params.addAll(passedParams);</pre></td>
377 <td class="numLine"> 51</td>
378 <td class="nbHits"> </td>
379 <td class="src"><pre class="src"> </pre></td>
382 <td class="numLine"> 52</td>
383 <td class="nbHits"> </td>
384 <td class="src"><pre class="src"> <span Class="keyword">try</span> {</pre></td>
387 <td class="numLineUnCover"> 53</td>
388 <td class="nbHits"> </td>
389 <td class="src"><pre class="src"> RequestConfig.Builder requestBuilder = RequestConfig.custom();</pre></td>
392 <td class="numLineUnCover"> 54</td>
393 <td class="nbHits"> </td>
394 <td class="src"><pre class="src"> requestBuilder = requestBuilder.setConnectTimeout(TIMEOUT_MSEC);</pre></td>
397 <td class="numLineUnCover"> 55</td>
398 <td class="nbHits"> </td>
399 <td class="src"><pre class="src"> requestBuilder = requestBuilder.setSocketTimeout(TIMEOUT_MSEC);</pre></td>
402 <td class="numLineUnCover"> 56</td>
403 <td class="nbHits"> </td>
404 <td class="src"><pre class="src"> HttpClientBuilder builder = HttpClientBuilder.create();</pre></td>
407 <td class="numLineUnCover"> 57</td>
408 <td class="nbHits"> </td>
409 <td class="src"><pre class="src"> builder.setDefaultRequestConfig(requestBuilder.build());</pre></td>
412 <td class="numLineUnCover"> 58</td>
413 <td class="nbHits"> </td>
414 <td class="src"><pre class="src"> HttpClient httpClient = builder.build(); </pre></td>
417 <td class="numLineUnCover"> 59</td>
418 <td class="nbHits"> </td>
419 <td class="src"><pre class="src"> HttpPost httpPost = <span Class="keyword">new</span> HttpPost(m_gatewayUrl + <span Class="string">"/"</span> + method + <span Class="string">"/"</span>);</pre></td>
422 <td class="numLineUnCover"> 60</td>
423 <td class="nbHits"> </td>
424 <td class="src"><pre class="src"> httpPost.setEntity(<span Class="keyword">new</span> UrlEncodedFormEntity(params, UTF_8));</pre></td>
427 <td class="numLineUnCover"> 61</td>
428 <td class="nbHits"> </td>
429 <td class="src"><pre class="src"> HttpResponse response = httpClient.execute(httpPost);</pre></td>
432 <td class="numLineUnCover"> 62</td>
433 <td class="nbHits"> </td>
434 <td class="src"><pre class="src"> HttpEntity entity = response.getEntity();</pre></td>
437 <td class="numLine"> 63</td>
438 <td class="nbHits"> </td>
439 <td class="src"><pre class="src"> </pre></td>
442 <td class="numLineUnCover"> 64</td>
443 <td class="nbHits"> </td>
444 <td class="src"><pre class="src"> <span Class="keyword">if</span> (<span Class="keyword">null</span> != entity) {</pre></td>
447 <td class="numLineUnCover"> 65</td>
448 <td class="nbHitsUncovered"> Block: 0/1 Branch: 0/1 </td>
449 <td class="src"><pre class="src"> InputStream is = entity.getContent();</span></pre></td>
452 <td class="numLineUnCover"> 66</td>
453 <td class="nbHits"> </td>
454 <td class="src"><pre class="src"> <span Class="keyword">return</span> is;</pre></td>
457 <td class="numLine"> 67</td>
458 <td class="nbHits"> </td>
459 <td class="src"><pre class="src"> }</pre></td>
462 <td class="numLine"> 68</td>
463 <td class="nbHits"> </td>
464 <td class="src"><pre class="src"> }</pre></td>
467 <td class="numLineUnCover"> 69</td>
468 <td class="nbHitsUncovered"> Block: 0/1 </td>
469 <td class="src"><pre class="src"> <span Class="keyword">catch</span> (UnsupportedEncodingException uee) {</span></pre></td>
472 <td class="numLine"> 70</td>
473 <td class="nbHits"> </td>
474 <td class="src"><pre class="src"> <span Class="comment">// We should actually be guaranteed that this never happens, </span></pre></td>
477 <td class="numLine"> 71</td>
478 <td class="nbHits"> </td>
479 <td class="src"><pre class="src"> <span Class="comment">// because all JVMs are required to support UTF-8</span></pre></td>
482 <td class="numLineUnCover"> 72</td>
483 <td class="nbHits"> </td>
484 <td class="src"><pre class="src"> <span Class="keyword">assert</span>(<span Class="keyword">false</span>);</pre></td>
487 <td class="numLineUnCover"> 73</td>
488 <td class="nbHitsUncovered"> Block: 0/1 Branch: 0/1 </td>
489 <td class="src"><pre class="src"> <span Class="keyword">throw</span> <span Class="keyword">new</span> Error(uee);</span></pre></td>
492 <td class="numLine"> 74</td>
493 <td class="nbHits"> </td>
494 <td class="src"><pre class="src"> }</pre></td>
497 <td class="numLineUnCover"> 75</td>
498 <td class="nbHitsUncovered"> Block: 0/1 </td>
499 <td class="src"><pre class="src"> <span Class="keyword">catch</span> (IOException ioe) {</span></pre></td>
502 <td class="numLineUnCover"> 76</td>
503 <td class="nbHits"> </td>
504 <td class="src"><pre class="src"> <span Class="keyword">throw</span> <span Class="keyword">new</span> QDException(ioe);</pre></td>
507 <td class="numLineUnCover"> 77</td>
508 <td class="nbHitsUncovered"> Block: 0/1 Branch: 0/1 </td>
509 <td class="src"><pre class="src"> }</span></pre></td>
512 <td class="numLine"> 78</td>
513 <td class="nbHits"> </td>
514 <td class="src"><pre class="src"> </pre></td>
517 <td class="numLineUnCover"> 79</td>
518 <td class="nbHitsUncovered"> Block: 0/1 </td>
519 <td class="src"><pre class="src"> <span Class="keyword">return</span> <span Class="keyword">null</span>;</span></pre></td>
522 <td class="numLine"> 80</td>
523 <td class="nbHits"> </td>
524 <td class="src"><pre class="src"> }</pre></td>
527 <td class="numLine"> 81</td>
528 <td class="nbHits"> </td>
529 <td class="src"><pre class="src"> </pre></td>
532 <td class="numLine"> 82</td>
533 <td class="nbHits"> </td>
534 <td class="src"><pre class="src"> <span Class="keyword">public</span> String submit(String method, ArrayList<NameValuePair> passedParams) <span Class="keyword">throws</span> QDException</pre></td>
537 <td class="numLine"> 83</td>
538 <td class="nbHits"> </td>
539 <td class="src"><pre class="src"> {</pre></td>
542 <td class="numLineCover"> 84<a name="src_84"></a></td>
543 <td class="nbHitsCovered"> Block: 1/1 </td>
544 <td class="src"><pre class="src"> StringBuilder sb = <span Class="keyword">new</span> StringBuilder();</span></pre></td>
547 <td class="numLineCover"> 85</td>
548 <td class="nbHits"> </td>
549 <td class="src"><pre class="src"> InputStream is = <span Class="keyword">null</span>;</pre></td>
552 <td class="numLine"> 86</td>
553 <td class="nbHits"> </td>
554 <td class="src"><pre class="src"> </pre></td>
557 <td class="numLine"> 87</td>
558 <td class="nbHits"> </td>
559 <td class="src"><pre class="src"> <span Class="keyword">try</span> {</pre></td>
562 <td class="numLineCover"> 88</td>
563 <td class="nbHits"> </td>
564 <td class="src"><pre class="src"> is = doSubmit(method, passedParams);</pre></td>
567 <td class="numLineCover"> 89</td>
568 <td class="nbHits"> </td>
569 <td class="src"><pre class="src"> BufferedReader br = <span Class="keyword">new</span> BufferedReader(<span Class="keyword">new</span> InputStreamReader(is));</pre></td>
572 <td class="numLineCover"> 90</td>
573 <td class="nbHits"> </td>
574 <td class="src"><pre class="src"> String line = br.readLine();</pre></td>
577 <td class="numLineCover"> 91</td>
578 <td class="nbHitsCovered"> Block: 1/1 </td>
579 <td class="src"><pre class="src"> <span Class="keyword">while</span> (<span Class="keyword">null</span> != line) {</span></pre></td>
582 <td class="numLineCover"> 92</td>
583 <td class="nbHitsCovered"> Block: 1/1 Branch: 1/1 </td>
584 <td class="src"><pre class="src"> sb.append(line).append(<span Class="string">"\n"</span>);</span></pre></td>
587 <td class="numLineCover"> 93</td>
588 <td class="nbHits"> </td>
589 <td class="src"><pre class="src"> line = br.readLine();</pre></td>
592 <td class="numLine"> 94</td>
593 <td class="nbHits"> </td>
594 <td class="src"><pre class="src"> }</pre></td>
597 <td class="numLine"> 95</td>
598 <td class="nbHits"> </td>
599 <td class="src"><pre class="src"> }</pre></td>
602 <td class="numLineUnCover"> 96</td>
603 <td class="nbHitsUncovered"> Block: 0/1 </td>
604 <td class="src"><pre class="src"> <span Class="keyword">catch</span> (IOException ioe) {</span></pre></td>
607 <td class="numLineUnCover"> 97</td>
608 <td class="nbHits"> </td>
609 <td class="src"><pre class="src"> <span Class="keyword">throw</span> <span Class="keyword">new</span> QDException(ioe);</pre></td>
612 <td class="numLine"> 98</td>
613 <td class="nbHits"> </td>
614 <td class="src"><pre class="src"> }</pre></td>
617 <td class="numLine"> 99</td>
618 <td class="nbHits"> </td>
619 <td class="src"><pre class="src"> <span Class="keyword">finally</span> {</pre></td>
622 <td class="numLineCover"> 100</td>
623 <td class="nbHitsUncovered"> Block: 1/2 Branch: 1/1 </td>
624 <td class="src"><pre class="src"> ExceptionUtils.tryClose(is);</span></pre></td>
627 <td class="numLineCover"> 101</td>
628 <td class="nbHits"> </td>
629 <td class="src"><pre class="src"> }</pre></td>
632 <td class="numLine"> 102</td>
633 <td class="nbHits"> </td>
634 <td class="src"><pre class="src"> </pre></td>
637 <td class="numLineCover"> 103</td>
638 <td class="nbHitsCovered"> Block: 1/1 </td>
639 <td class="src"><pre class="src"> <span Class="keyword">return</span> sb.toString();</span></pre></td>
642 <td class="numLine"> 104</td>
643 <td class="nbHits"> </td>
644 <td class="src"><pre class="src"> }</pre></td>
647 <td class="numLine"> 105</td>
648 <td class="nbHits"> </td>
649 <td class="src"><pre class="src"> </pre></td>
652 <td class="numLine"> 106</td>
653 <td class="nbHits"> </td>
654 <td class="src"><pre class="src"> <span Class="keyword">public</span> ParseResult submitAndParse(String method, </pre></td>
657 <td class="numLine"> 107</td>
658 <td class="nbHits"> </td>
659 <td class="src"><pre class="src"> ArrayList<NameValuePair> passedParams, </pre></td>
662 <td class="numLine"> 108</td>
663 <td class="nbHits"> </td>
664 <td class="src"><pre class="src"> Class<? <span Class="keyword">extends</span> ParseResult> rootParserClass)</pre></td>
667 <td class="numLine"> 109</td>
668 <td class="nbHits"> </td>
669 <td class="src"><pre class="src"> <span Class="keyword">throws</span> QDException</pre></td>
672 <td class="numLine"> 110</td>
673 <td class="nbHits"> </td>
674 <td class="src"><pre class="src"> {</pre></td>
677 <td class="numLineCover"> 111<a name="src_111"></a></td>
678 <td class="nbHitsCovered"> Block: 1/1 </td>
679 <td class="src"><pre class="src"> <span Class="keyword">return</span> submitAndParse(method, passedParams, rootParserClass, <span Class="keyword">null</span>);</span></pre></td>
682 <td class="numLine"> 112</td>
683 <td class="nbHits"> </td>
684 <td class="src"><pre class="src"> }</pre></td>
687 <td class="numLine"> 113</td>
688 <td class="nbHits"> </td>
689 <td class="src"><pre class="src"> </pre></td>
692 <td class="numLine"> 114</td>
693 <td class="nbHits"> </td>
694 <td class="src"><pre class="src"> <span Class="keyword">public</span> ParseResult submitAndParse(String method, </pre></td>
697 <td class="numLine"> 115</td>
698 <td class="nbHits"> </td>
699 <td class="src"><pre class="src"> ArrayList<NameValuePair> passedParams, </pre></td>
702 <td class="numLine"> 116</td>
703 <td class="nbHits"> </td>
704 <td class="src"><pre class="src"> Class<? <span Class="keyword">extends</span> ParseResult> rootParserClass,</pre></td>
707 <td class="numLine"> 117</td>
708 <td class="nbHits"> </td>
709 <td class="src"><pre class="src"> String rootTagName)</pre></td>
712 <td class="numLine"> 118</td>
713 <td class="nbHits"> </td>
714 <td class="src"><pre class="src"> <span Class="keyword">throws</span> QDException</pre></td>
717 <td class="numLine"> 119</td>
718 <td class="nbHits"> </td>
719 <td class="src"><pre class="src"> {</pre></td>
722 <td class="numLineCover"> 120<a name="src_120"></a></td>
723 <td class="nbHitsCovered"> Block: 1/1 </td>
724 <td class="src"><pre class="src"> ParseResult result = <span Class="keyword">null</span>;</span></pre></td>
727 <td class="numLineCover"> 121</td>
728 <td class="nbHits"> </td>
729 <td class="src"><pre class="src"> InputStream is = <span Class="keyword">null</span>;</pre></td>
732 <td class="numLine"> 122</td>
733 <td class="nbHits"> </td>
734 <td class="src"><pre class="src"> </pre></td>
737 <td class="numLine"> 123</td>
738 <td class="nbHits"> </td>
739 <td class="src"><pre class="src"> <span Class="keyword">try</span> {</pre></td>
742 <td class="numLineCover"> 124</td>
743 <td class="nbHits"> </td>
744 <td class="src"><pre class="src"> <span Class="keyword">if</span> (<span Class="keyword">null</span> == rootTagName) {</pre></td>
747 <td class="numLineCover"> 125</td>
748 <td class="nbHitsCovered"> Block: 1/1 Branch: 1/1 </td>
749 <td class="src"><pre class="src"> result = (ParseResult) rootParserClass.newInstance();</span></pre></td>
752 <td class="numLine"> 126</td>
753 <td class="nbHits"> </td>
754 <td class="src"><pre class="src"> } </pre></td>
757 <td class="numLine"> 127</td>
758 <td class="nbHits"> </td>
759 <td class="src"><pre class="src"> <span Class="keyword">else</span> {</pre></td>
762 <td class="numLineUnCover"> 128</td>
763 <td class="nbHitsUncovered"> Block: 0/1 Branch: 0/1 </td>
764 <td class="src"><pre class="src"> result = (ParseResult) rootParserClass.getDeclaredConstructor(String.<span Class="keyword">class</span>).newInstance(rootTagName);</span></pre></td>
767 <td class="numLine"> 129</td>
768 <td class="nbHits"> </td>
769 <td class="src"><pre class="src"> }</pre></td>
772 <td class="numLineCover"> 130</td>
773 <td class="nbHitsCovered"> Block: 1/1 </td>
774 <td class="src"><pre class="src"> is = doSubmit(method, passedParams);</span></pre></td>
777 <td class="numLineCover"> 131</td>
778 <td class="nbHits"> </td>
779 <td class="src"><pre class="src"> XMLReader reader = XMLReaderFactory.createXMLReader();</pre></td>
782 <td class="numLineCover"> 132</td>
783 <td class="nbHits"> </td>
784 <td class="src"><pre class="src"> ParseHandler ph = <span Class="keyword">new</span> ParseHandler(result);</pre></td>
787 <td class="numLineCover"> 133</td>
788 <td class="nbHits"> </td>
789 <td class="src"><pre class="src"> reader.setContentHandler(ph);</pre></td>
792 <td class="numLineCover"> 134</td>
793 <td class="nbHits"> </td>
794 <td class="src"><pre class="src"> reader.parse(<span Class="keyword">new</span> InputSource(is));</pre></td>
797 <td class="numLine"> 135</td>
798 <td class="nbHits"> </td>
799 <td class="src"><pre class="src"> } </pre></td>
802 <td class="numLineUnCover"> 136</td>
803 <td class="nbHitsUncovered"> Block: 0/1 </td>
804 <td class="src"><pre class="src"> <span Class="keyword">catch</span> ( InstantiationException</span></pre></td>
807 <td class="numLine"> 137</td>
808 <td class="nbHits"> </td>
809 <td class="src"><pre class="src"> | InvocationTargetException</pre></td>
812 <td class="numLine"> 138</td>
813 <td class="nbHits"> </td>
814 <td class="src"><pre class="src"> | IllegalAccessException</pre></td>
817 <td class="numLine"> 139</td>
818 <td class="nbHits"> </td>
819 <td class="src"><pre class="src"> | IOException </pre></td>
822 <td class="numLine"> 140</td>
823 <td class="nbHits"> </td>
824 <td class="src"><pre class="src"> | NoSuchMethodException</pre></td>
827 <td class="numLine"> 141</td>
828 <td class="nbHits"> </td>
829 <td class="src"><pre class="src"> | SAXException </pre></td>
832 <td class="numLine"> 142</td>
833 <td class="nbHits"> </td>
834 <td class="src"><pre class="src"> e )</pre></td>
837 <td class="numLine"> 143</td>
838 <td class="nbHits"> </td>
839 <td class="src"><pre class="src"> {</pre></td>
842 <td class="numLineUnCover"> 144</td>
843 <td class="nbHits"> </td>
844 <td class="src"><pre class="src"> <span Class="keyword">throw</span> <span Class="keyword">new</span> QDException(e);</pre></td>
847 <td class="numLine"> 145</td>
848 <td class="nbHits"> </td>
849 <td class="src"><pre class="src"> } </pre></td>
852 <td class="numLine"> 146</td>
853 <td class="nbHits"> </td>
854 <td class="src"><pre class="src"> <span Class="keyword">finally</span> {</pre></td>
857 <td class="numLineCover"> 147</td>
858 <td class="nbHitsUncovered"> Block: 0/1 </td>
859 <td class="src"><pre class="src"> ExceptionUtils.tryClose(is);</span></pre></td>
862 <td class="numLineCover"> 148</td>
863 <td class="nbHits"> </td>
864 <td class="src"><pre class="src"> }</pre></td>
867 <td class="numLine"> 149</td>
868 <td class="nbHits"> </td>
869 <td class="src"><pre class="src"> </pre></td>
872 <td class="numLineCover"> 150</td>
873 <td class="nbHitsCovered"> Block: 1/1 </td>
874 <td class="src"><pre class="src"> <span Class="keyword">return</span> result;</span></pre></td>
877 <td class="numLine"> 151</td>
878 <td class="nbHits"> </td>
879 <td class="src"><pre class="src"> }</pre></td>
882 <td class="numLine"> 152</td>
883 <td class="nbHits"> </td>
884 <td class="src"><pre class="src"> }</pre></td>
888 <p><table cellpadding="0" cellspacing="0" class="report"> <tr class="report"> <td class="reportText"><span class="text"> Report generated 11/12/14 11:31 PM </span></td> </tr></table>