<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>WebRunnerServlet xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> * under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> */</em>
<a name="19" href="#19">19</a>  <strong class="jxr_keyword">package</strong> org.apache.chemistry.opencmis.tck.runner;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.PrintWriter;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> javax.servlet.ServletException;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> javax.servlet.http.HttpServlet;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> javax.servlet.http.HttpServletRequest;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> javax.servlet.http.HttpServletResponse;
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.tck.CmisTest;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.tck.CmisTestGroup;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.tck.CmisTestProgressMonitor;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.tck.report.CoreHtmlReport;
<a name="35" href="#35">35</a>  
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment">/**</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * Web Runner.</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> */</em>
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/WebRunnerServlet.html">WebRunnerServlet</a> <strong class="jxr_keyword">extends</strong> HttpServlet {
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L;
<a name="42" href="#42">42</a>  
<a name="43" href="#43">43</a>      @Override
<a name="44" href="#44">44</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> doGet(HttpServletRequest req, HttpServletResponse resp) <strong class="jxr_keyword">throws</strong> ServletException, IOException {
<a name="45" href="#45">45</a>          resp.setContentType(<span class="jxr_string">"text/html; charset=UTF-8"</span>);
<a name="46" href="#46">46</a>  
<a name="47" href="#47">47</a>          PrintWriter pw = resp.getWriter();
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>          printHeader(pw);
<a name="50" href="#50">50</a>  
<a name="51" href="#51">51</a>          pw.println(<span class="jxr_string">"&lt;h1&gt;OpenCMIS TCK&lt;/h1&gt;"</span>);
<a name="52" href="#52">52</a>  
<a name="53" href="#53">53</a>          pw.println(<span class="jxr_string">"&lt;form action=\&quot;"</span> + req.getRequestURI() + <span class="jxr_string">"\&quot; method=\&quot;POST\&quot;&gt;"</span>);
<a name="54" href="#54">54</a>          pw.println(<span class="jxr_string">"&lt;table&gt;"</span>);
<a name="55" href="#55">55</a>          pw.println(<span class="jxr_string">"&lt;tr&gt;&lt;td&gt;AtomPub URL:&lt;/td&gt;&lt;td&gt;&lt;input type=\&quot;text\&quot; name=\&quot;org.apache.chemistry.opencmis.binding.atompub.url\&quot; size=\&quot;50\&quot;&gt;&lt;/td&gt;&lt;/tr&gt;"</span>);
<a name="56" href="#56">56</a>          pw.println(<span class="jxr_string">"&lt;tr&gt;&lt;td&gt;Username:&lt;/td&gt;&lt;td&gt;&lt;input type=\&quot;text\&quot; name=\&quot;org.apache.chemistry.opencmis.user\&quot; size=\&quot;50\&quot;&gt;&lt;/td&gt;&lt;/tr&gt;"</span>);
<a name="57" href="#57">57</a>          pw.println(<span class="jxr_string">"&lt;tr&gt;&lt;td&gt;Password:&lt;/td&gt;&lt;td&gt;&lt;input type=\&quot;password\&quot; name=\&quot;org.apache.chemistry.opencmis.password\&quot; size=\&quot;50\&quot;&gt;&lt;/td&gt;&lt;/tr&gt;"</span>);
<a name="58" href="#58">58</a>          pw.println(<span class="jxr_string">"&lt;tr&gt;&lt;td&gt;Repository Id:&lt;/td&gt;&lt;td&gt;&lt;input type=\&quot;text\&quot; name=\&quot;org.apache.chemistry.opencmis.session.repository.id\&quot; size=\&quot;50\&quot;&gt;&lt;/td&gt;&lt;/tr&gt;"</span>);
<a name="59" href="#59">59</a>          pw.println(<span class="jxr_string">"&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;input type=\&quot;submit\&quot; value=\&quot;Start TCK\&quot;&gt;&lt;/td&gt;&lt;/tr&gt;"</span>);
<a name="60" href="#60">60</a>          pw.println(<span class="jxr_string">"&lt;input type=\&quot;hidden\&quot; name=\&quot;org.apache.chemistry.opencmis.binding.spi.type\&quot; value=\&quot;atompub\&quot;&gt;"</span>);
<a name="61" href="#61">61</a>          pw.println(<span class="jxr_string">"&lt;/form&gt;"</span>);
<a name="62" href="#62">62</a>  
<a name="63" href="#63">63</a>          printFooter(pw);
<a name="64" href="#64">64</a>      }
<a name="65" href="#65">65</a>  
<a name="66" href="#66">66</a>      @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
<a name="67" href="#67">67</a>      @Override
<a name="68" href="#68">68</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> doPost(HttpServletRequest req, HttpServletResponse resp) <strong class="jxr_keyword">throws</strong> ServletException, IOException {
<a name="69" href="#69">69</a>          resp.setBufferSize(0);
<a name="70" href="#70">70</a>          resp.setContentType(<span class="jxr_string">"text/html; charset=UTF-8"</span>);
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>          PrintWriter pw = resp.getWriter();
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>          printHeader(pw);
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>          Map&lt;String, String&gt; parameters = <strong class="jxr_keyword">new</strong> HashMap&lt;String, String&gt;();
<a name="77" href="#77">77</a>          <strong class="jxr_keyword">for</strong> (Map.Entry&lt;String, String[]&gt; entry : ((Map&lt;String, String[]&gt;) req.getParameterMap()).entrySet()) {
<a name="78" href="#78">78</a>              <strong class="jxr_keyword">if</strong> ((entry.getValue() == <strong class="jxr_keyword">null</strong>) || (entry.getValue().length &lt; 1)) {
<a name="79" href="#79">79</a>                  <strong class="jxr_keyword">continue</strong>;
<a name="80" href="#80">80</a>              }
<a name="81" href="#81">81</a>              parameters.put(entry.getKey(), entry.getValue()[0]);
<a name="82" href="#82">82</a>          }
<a name="83" href="#83">83</a>  
<a name="84" href="#84">84</a>          <strong class="jxr_keyword">try</strong> {
<a name="85" href="#85">85</a>              <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/WebRunnerServlet.html">WebRunner</a> runner = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/WebRunnerServlet.html">WebRunner</a>();
<a name="86" href="#86">86</a>              runner.setParameters(parameters);
<a name="87" href="#87">87</a>              runner.loadDefaultTckGroups();
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>              pw.println(<span class="jxr_string">"&lt;div id=\&quot;progress\&quot;&gt;"</span>);
<a name="90" href="#90">90</a>              pw.println(<span class="jxr_string">"&lt;h1&gt;Running OpenCMIS TCK&lt;/h1&gt;"</span>);
<a name="91" href="#91">91</a>  
<a name="92" href="#92">92</a>              runner.run(<strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/WebRunnerServlet.html">WebProgressMonitor</a>(pw));
<a name="93" href="#93">93</a>  
<a name="94" href="#94">94</a>              pw.println(<span class="jxr_string">"&lt;/div&gt;"</span>);
<a name="95" href="#95">95</a>  
<a name="96" href="#96">96</a>              <em class="jxr_comment">// let progress div disappear</em>
<a name="97" href="#97">97</a>              pw.println(<span class="jxr_string">"&lt;script language=\&quot;javascript\&quot;&gt;"</span>);
<a name="98" href="#98">98</a>              pw.println(<span class="jxr_string">"document.getElementById(\&quot;progress\&quot;).style.display = \&quot;none\&quot;;"</span>);
<a name="99" href="#99">99</a>              pw.println(<span class="jxr_string">"&lt;/script&gt;"</span>);
<a name="100" href="#100">100</a> 
<a name="101" href="#101">101</a>             (<strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/report/CoreHtmlReport.html">CoreHtmlReport</a>()).createReport(runner.getParameters(), runner.getGroups(), pw);
<a name="102" href="#102">102</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="103" href="#103">103</a>             pw.println(<span class="jxr_string">"&lt;h2&gt;Exception&lt;/h2&gt;"</span>);
<a name="104" href="#104">104</a> 
<a name="105" href="#105">105</a>             pw.println(<span class="jxr_string">"\n&lt;pre&gt;"</span>);
<a name="106" href="#106">106</a>             e.printStackTrace(pw);
<a name="107" href="#107">107</a>             pw.println(<span class="jxr_string">"\n&lt;/pre&gt;"</span>);
<a name="108" href="#108">108</a>         }
<a name="109" href="#109">109</a> 
<a name="110" href="#110">110</a>         printFooter(pw);
<a name="111" href="#111">111</a>     }
<a name="112" href="#112">112</a> 
<a name="113" href="#113">113</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> printHeader(PrintWriter pw) <strong class="jxr_keyword">throws</strong> IOException {
<a name="114" href="#114">114</a>         pw.println(<span class="jxr_string">"&lt;!DOCTYPE HTML PUBLIC \&quot;-//W3C//DTD HTML 4.01//EN\&quot; \&quot;http://www.w3.org/TR/html4/strict.dtd\&quot;&gt;"</span>);
<a name="115" href="#115">115</a>         pw.println(<span class="jxr_string">"&lt;html&gt;&lt;head&gt;\n&lt;title&gt;OpenCMIS TCK&lt;/title&gt;"</span>);
<a name="116" href="#116">116</a>         CoreHtmlReport.printStyle(pw);
<a name="117" href="#117">117</a>         pw.println(<span class="jxr_string">"&lt;/head&gt;&lt;body&gt;"</span>);
<a name="118" href="#118">118</a>     }
<a name="119" href="#119">119</a> 
<a name="120" href="#120">120</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> printFooter(PrintWriter pw) <strong class="jxr_keyword">throws</strong> IOException {
<a name="121" href="#121">121</a>         pw.println(<span class="jxr_string">"\n&lt;/body&gt;&lt;/html&gt;"</span>);
<a name="122" href="#122">122</a>         pw.flush();
<a name="123" href="#123">123</a>     }
<a name="124" href="#124">124</a> 
<a name="125" href="#125">125</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/WebRunnerServlet.html">WebRunner</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/AbstractRunner.html">AbstractRunner</a> {
<a name="126" href="#126">126</a>     }
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/WebRunnerServlet.html">WebProgressMonitor</a> implements <a href="../../../../../../org/apache/chemistry/opencmis/tck/CmisTestProgressMonitor.html">CmisTestProgressMonitor</a> {
<a name="129" href="#129">129</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> PrintWriter pw;
<a name="130" href="#130">130</a> 
<a name="131" href="#131">131</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/WebRunnerServlet.html">WebProgressMonitor</a>(PrintWriter pw) {
<a name="132" href="#132">132</a>             <strong class="jxr_keyword">this</strong>.pw = pw;
<a name="133" href="#133">133</a>         }
<a name="134" href="#134">134</a> 
<a name="135" href="#135">135</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> startGroup(<a href="../../../../../../org/apache/chemistry/opencmis/tck/CmisTestGroup.html">CmisTestGroup</a> group) {
<a name="136" href="#136">136</a>             pw.println(<span class="jxr_string">"&lt;h3&gt;"</span> + group.getName() + <span class="jxr_string">" ("</span> + group.getTests().size() + <span class="jxr_string">" tests)&lt;/h3&gt;"</span>);
<a name="137" href="#137">137</a>             pw.flush();
<a name="138" href="#138">138</a>         }
<a name="139" href="#139">139</a> 
<a name="140" href="#140">140</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> endGroup(<a href="../../../../../../org/apache/chemistry/opencmis/tck/CmisTestGroup.html">CmisTestGroup</a> group) {
<a name="141" href="#141">141</a>             pw.println(<span class="jxr_string">"&lt;br&gt;"</span>);
<a name="142" href="#142">142</a>             pw.flush();
<a name="143" href="#143">143</a>         }
<a name="144" href="#144">144</a> 
<a name="145" href="#145">145</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> startTest(<a href="../../../../../../org/apache/chemistry/opencmis/tck/CmisTest.html">CmisTest</a> test) {
<a name="146" href="#146">146</a>             pw.print(<span class="jxr_string">"&amp;nbsp;&amp;nbsp;&amp;nbsp;"</span> + test.getName() + <span class="jxr_string">" ... "</span>);
<a name="147" href="#147">147</a>             pw.flush();
<a name="148" href="#148">148</a>         }
<a name="149" href="#149">149</a> 
<a name="150" href="#150">150</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> endTest(<a href="../../../../../../org/apache/chemistry/opencmis/tck/CmisTest.html">CmisTest</a> test) {
<a name="151" href="#151">151</a>             pw.println(<span class="jxr_string">"completed&lt;br&gt;"</span>);
<a name="152" href="#152">152</a>             pw.flush();
<a name="153" href="#153">153</a>         }
<a name="154" href="#154">154</a> 
<a name="155" href="#155">155</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> message(String msg) {
<a name="156" href="#156">156</a>             pw.println(msg);
<a name="157" href="#157">157</a>             pw.flush();
<a name="158" href="#158">158</a>         }
<a name="159" href="#159">159</a>     }
<a name="160" href="#160">160</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

