204 beginGood(out);
205 printIndex(out);
206 }
207 else if (nf.equals("env")) {
208 // special case for incomplete interview?
209
210 TestEnvironment env = params.getEnv();
211
212 if (env == null) {
213 print(out, i18n.getString("harnessHttp.env.none"));
214 return;
215 }
216
217 /* does not fit in the properties style output
218 out.print(i18n.getString("harnessHttp.env.name"));
219 out.println(env.getName());
220 */
221
222 String[] pa = new String[0];
223
224 for (Iterator i = env.elements().iterator(); i.hasNext(); ) {
225 TestEnvironment.Element elem = (TestEnvironment.Element) (i.next());
226 // this is stunningly inefficient and should be fixed
227 pa = PropertyArray.put(pa, elem.getKey(), elem.getValue());
228 }
229
230 try {
231 PropertyArray.save(pa, out);
232 }
233 catch (IOException e) {
234 // this is probably useless since problems with out
235 // probably caused this
236 out.println(i18n.getString("harnessHttp.ioProblem"));
237 }
238 }
239 else if (nf.equals("config")) {
240 if (params == null) {
241 out.print(i18n.getString("harnessHttp.text.unavail"));
242 return;
243 }
244
245 // test suite info
293 stats[Status.NOT_RUN] = harness.getTestsFoundCount() - stats[Status.PASSED] -
294 stats[Status.FAILED] - stats[Status.ERROR];
295
296 for (int i = 0; i < Status.NUM_STATES; i++) {
297 out.print((Status.typeToString(i)).replace(' ', '_'));
298 out.print("=");
299 out.println(stats[i]);
300 } // for
301 }
302 else if (nf.equals("state")) {
303 // provide information about the Harness' state
304 print(out, i18n.getString("harnessHttp.state.run.val"));
305 out.println(harness.isRunning());
306 }
307 else if (nf.equals("results")) {
308 // test dump
309 TestResultTable trt = harness.getResultTable();
310 TestFilter[] filters = params.getFilters();
311 String[] tests = params.getTests();
312
313 Iterator it = null;
314 if (tests == null || tests.length == 0)
315 it = trt.getIterator(filters);
316 else
317 it = trt.getIterator(params.getTests(), filters);
318
319 while (it.hasNext()) {
320 TestResult tr = (TestResult)(it.next());
321 out.println(tr.getTestName());
322 out.println(tr.getStatus().toString());
323 } // while
324 }
325 else {
326 if (debug)
327 System.out.println("TRT.HH-remainder of URL unknown (" + nf + ")");
328
329 println(out, i18n.getString("harnessHttp.badRequest", requestURL.getFullPath()));
330 }
331 }
332
333 private void printStopConfirm(PrintWriter out) {
334 out.print("<h2>");
335 print(out, i18n.getString("harnessHttp.stopConfirm.hdr"));
336 out.println("</h2>");
337 out.print("<h4>");
338 print(out, i18n.getString("harnessHttp.stopConfirm.txt"));
339 out.println("</h4>");
340 out.print("<Form method=get enctype=application/x-www-form-urlencoded>");
527
528 private void printEnv(PrintWriter out, TestEnvironment env) {
529 out.print(i18n.getString("harnessHttp.env.name"));
530 println(out, env.getName());
531
532 String keyHeader = "Key";
533 String valHeader = "Value";
534
535 out.println("<Table Border>");
536
537 StringBuffer buf = new StringBuffer(50);
538
539 // write the table header
540 buf.append("<tr><th>");
541 buf.append(filterTags(keyHeader));
542 buf.append("<th>");
543 buf.append(filterTags(valHeader));
544 buf.append("</tr>");
545 out.println(buf.toString());
546
547 for (Iterator keys = env.keys().iterator(); keys.hasNext(); ) {
548 String key = (String) (keys.next());
549 out.println("<tr>");
550 buf.setLength(0);
551 buf.append("<td>");
552 buf.append(key.toString());
553 buf.append("<td>");
554 try {
555 buf.append(filterTags(StringArray.join((env.lookup(key)))));
556 }
557 catch (TestEnvironment.Fault f) {
558 buf.append(i18n.getString("harnessHttp.env.error"));
559 }
560
561 out.println(buf.toString());
562 out.println("</tr>");
563 } // while
564
565 out.println("</Table>");
566 }
567
568 // ------------ instance vars ------------
|
204 beginGood(out);
205 printIndex(out);
206 }
207 else if (nf.equals("env")) {
208 // special case for incomplete interview?
209
210 TestEnvironment env = params.getEnv();
211
212 if (env == null) {
213 print(out, i18n.getString("harnessHttp.env.none"));
214 return;
215 }
216
217 /* does not fit in the properties style output
218 out.print(i18n.getString("harnessHttp.env.name"));
219 out.println(env.getName());
220 */
221
222 String[] pa = new String[0];
223
224 for (Iterator<TestEnvironment.Element> i = env.elements().iterator(); i.hasNext(); ) {
225 TestEnvironment.Element elem = i.next();
226 // this is stunningly inefficient and should be fixed
227 pa = PropertyArray.put(pa, elem.getKey(), elem.getValue());
228 }
229
230 try {
231 PropertyArray.save(pa, out);
232 }
233 catch (IOException e) {
234 // this is probably useless since problems with out
235 // probably caused this
236 out.println(i18n.getString("harnessHttp.ioProblem"));
237 }
238 }
239 else if (nf.equals("config")) {
240 if (params == null) {
241 out.print(i18n.getString("harnessHttp.text.unavail"));
242 return;
243 }
244
245 // test suite info
293 stats[Status.NOT_RUN] = harness.getTestsFoundCount() - stats[Status.PASSED] -
294 stats[Status.FAILED] - stats[Status.ERROR];
295
296 for (int i = 0; i < Status.NUM_STATES; i++) {
297 out.print((Status.typeToString(i)).replace(' ', '_'));
298 out.print("=");
299 out.println(stats[i]);
300 } // for
301 }
302 else if (nf.equals("state")) {
303 // provide information about the Harness' state
304 print(out, i18n.getString("harnessHttp.state.run.val"));
305 out.println(harness.isRunning());
306 }
307 else if (nf.equals("results")) {
308 // test dump
309 TestResultTable trt = harness.getResultTable();
310 TestFilter[] filters = params.getFilters();
311 String[] tests = params.getTests();
312
313 Iterator<TestResult> it = null;
314 if (tests == null || tests.length == 0)
315 it = trt.getIterator(filters);
316 else
317 it = trt.getIterator(params.getTests(), filters);
318
319 while (it.hasNext()) {
320 TestResult tr = it.next();
321 out.println(tr.getTestName());
322 out.println(tr.getStatus().toString());
323 } // while
324 }
325 else {
326 if (debug)
327 System.out.println("TRT.HH-remainder of URL unknown (" + nf + ")");
328
329 println(out, i18n.getString("harnessHttp.badRequest", requestURL.getFullPath()));
330 }
331 }
332
333 private void printStopConfirm(PrintWriter out) {
334 out.print("<h2>");
335 print(out, i18n.getString("harnessHttp.stopConfirm.hdr"));
336 out.println("</h2>");
337 out.print("<h4>");
338 print(out, i18n.getString("harnessHttp.stopConfirm.txt"));
339 out.println("</h4>");
340 out.print("<Form method=get enctype=application/x-www-form-urlencoded>");
527
528 private void printEnv(PrintWriter out, TestEnvironment env) {
529 out.print(i18n.getString("harnessHttp.env.name"));
530 println(out, env.getName());
531
532 String keyHeader = "Key";
533 String valHeader = "Value";
534
535 out.println("<Table Border>");
536
537 StringBuffer buf = new StringBuffer(50);
538
539 // write the table header
540 buf.append("<tr><th>");
541 buf.append(filterTags(keyHeader));
542 buf.append("<th>");
543 buf.append(filterTags(valHeader));
544 buf.append("</tr>");
545 out.println(buf.toString());
546
547 for (Iterator<String> keys = env.keys().iterator(); keys.hasNext(); ) {
548 String key = keys.next();
549 out.println("<tr>");
550 buf.setLength(0);
551 buf.append("<td>");
552 buf.append(key.toString());
553 buf.append("<td>");
554 try {
555 buf.append(filterTags(StringArray.join((env.lookup(key)))));
556 }
557 catch (TestEnvironment.Fault f) {
558 buf.append(i18n.getString("harnessHttp.env.error"));
559 }
560
561 out.println(buf.toString());
562 out.println("</tr>");
563 } // while
564
565 out.println("</Table>");
566 }
567
568 // ------------ instance vars ------------
|