<!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>CmisTckAntTask 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.File;
<a name="22" href="#22">22</a>  
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.tck.CmisTest;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.tck.CmisTestGroup;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.tck.CmisTestProgressMonitor;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.tck.CmisTestReport;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.tck.report.HtmlReport;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.tck.report.TextReport;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.tck.report.XmlReport;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.tools.ant.BuildException;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.tools.ant.Task;
<a name="32" href="#32">32</a>  
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment">/**</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * CMIS TCK Ant Task.</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> */</em>
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/CmisTckAntTask.html">CmisTckAntTask</a> <strong class="jxr_keyword">extends</strong> Task {
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REPORT_TEXT = <span class="jxr_string">"text"</span>;
<a name="39" href="#39">39</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REPORT_XML = <span class="jxr_string">"xml"</span>;
<a name="40" href="#40">40</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REPORT_HTML = <span class="jxr_string">"html"</span>;
<a name="41" href="#41">41</a>  
<a name="42" href="#42">42</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DEFAULT_REPORT_NAME = <span class="jxr_string">"cmis-tck-report"</span>;
<a name="43" href="#43">43</a>  
<a name="44" href="#44">44</a>      <strong class="jxr_keyword">private</strong> File parameters;
<a name="45" href="#45">45</a>      <strong class="jxr_keyword">private</strong> File groups;
<a name="46" href="#46">46</a>      <strong class="jxr_keyword">private</strong> File output;
<a name="47" href="#47">47</a>      <strong class="jxr_keyword">private</strong> String format;
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>      @Override
<a name="50" href="#50">50</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> init() {
<a name="51" href="#51">51</a>          <strong class="jxr_keyword">super</strong>.init();
<a name="52" href="#52">52</a>          parameters = <strong class="jxr_keyword">null</strong>;
<a name="53" href="#53">53</a>          groups = <strong class="jxr_keyword">null</strong>;
<a name="54" href="#54">54</a>          output = <strong class="jxr_keyword">null</strong>;
<a name="55" href="#55">55</a>          format = REPORT_TEXT;
<a name="56" href="#56">56</a>      }
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setParameters(File parameters) {
<a name="59" href="#59">59</a>          <strong class="jxr_keyword">this</strong>.parameters = parameters;
<a name="60" href="#60">60</a>      }
<a name="61" href="#61">61</a>  
<a name="62" href="#62">62</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setGroups(File groups) {
<a name="63" href="#63">63</a>          <strong class="jxr_keyword">this</strong>.groups = groups;
<a name="64" href="#64">64</a>      }
<a name="65" href="#65">65</a>  
<a name="66" href="#66">66</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setOutput(File output) {
<a name="67" href="#67">67</a>          <strong class="jxr_keyword">this</strong>.output = output;
<a name="68" href="#68">68</a>      }
<a name="69" href="#69">69</a>  
<a name="70" href="#70">70</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFormat(String format) {
<a name="71" href="#71">71</a>          <strong class="jxr_keyword">this</strong>.format = format;
<a name="72" href="#72">72</a>      }
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>      @Override
<a name="75" href="#75">75</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() {
<a name="76" href="#76">76</a>          <strong class="jxr_keyword">try</strong> {
<a name="77" href="#77">77</a>              <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/CmisTckAntTask.html">AntRunner</a> runner = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/CmisTckAntTask.html">AntRunner</a>();
<a name="78" href="#78">78</a>  
<a name="79" href="#79">79</a>              <strong class="jxr_keyword">if</strong> (parameters == <strong class="jxr_keyword">null</strong>) {
<a name="80" href="#80">80</a>                  runner.setParameters(<strong class="jxr_keyword">null</strong>);
<a name="81" href="#81">81</a>              } <strong class="jxr_keyword">else</strong> {
<a name="82" href="#82">82</a>                  runner.loadParameters(parameters);
<a name="83" href="#83">83</a>              }
<a name="84" href="#84">84</a>  
<a name="85" href="#85">85</a>              <strong class="jxr_keyword">if</strong> (groups == <strong class="jxr_keyword">null</strong>) {
<a name="86" href="#86">86</a>                  runner.loadDefaultTckGroups();
<a name="87" href="#87">87</a>              } <strong class="jxr_keyword">else</strong> {
<a name="88" href="#88">88</a>                  runner.loadGroups(groups);
<a name="89" href="#89">89</a>              }
<a name="90" href="#90">90</a>  
<a name="91" href="#91">91</a>              <a href="../../../../../../org/apache/chemistry/opencmis/tck/CmisTestReport.html">CmisTestReport</a> report = <strong class="jxr_keyword">null</strong>;
<a name="92" href="#92">92</a>  
<a name="93" href="#93">93</a>              <strong class="jxr_keyword">if</strong> (format == <strong class="jxr_keyword">null</strong>) {
<a name="94" href="#94">94</a>                  report = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/report/TextReport.html">TextReport</a>();
<a name="95" href="#95">95</a>                  <strong class="jxr_keyword">if</strong> (output == <strong class="jxr_keyword">null</strong>) {
<a name="96" href="#96">96</a>                      output = <strong class="jxr_keyword">new</strong> File(DEFAULT_REPORT_NAME + <span class="jxr_string">".txt"</span>);
<a name="97" href="#97">97</a>                  }
<a name="98" href="#98">98</a>              } <strong class="jxr_keyword">else</strong> {
<a name="99" href="#99">99</a>                  format = format.trim().toLowerCase();
<a name="100" href="#100">100</a>                 <strong class="jxr_keyword">if</strong> (REPORT_TEXT.equals(format)) {
<a name="101" href="#101">101</a>                     report = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/report/TextReport.html">TextReport</a>();
<a name="102" href="#102">102</a>                     <strong class="jxr_keyword">if</strong> (output == <strong class="jxr_keyword">null</strong>) {
<a name="103" href="#103">103</a>                         output = <strong class="jxr_keyword">new</strong> File(DEFAULT_REPORT_NAME + <span class="jxr_string">".txt"</span>);
<a name="104" href="#104">104</a>                     }
<a name="105" href="#105">105</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (REPORT_XML.equals(format)) {
<a name="106" href="#106">106</a>                     report = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/report/XmlReport.html">XmlReport</a>();
<a name="107" href="#107">107</a>                     <strong class="jxr_keyword">if</strong> (output == <strong class="jxr_keyword">null</strong>) {
<a name="108" href="#108">108</a>                         output = <strong class="jxr_keyword">new</strong> File(DEFAULT_REPORT_NAME + <span class="jxr_string">".xml"</span>);
<a name="109" href="#109">109</a>                     }
<a name="110" href="#110">110</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (REPORT_HTML.equals(format)) {
<a name="111" href="#111">111</a>                     report = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/report/HtmlReport.html">HtmlReport</a>();
<a name="112" href="#112">112</a>                     <strong class="jxr_keyword">if</strong> (output == <strong class="jxr_keyword">null</strong>) {
<a name="113" href="#113">113</a>                         output = <strong class="jxr_keyword">new</strong> File(DEFAULT_REPORT_NAME + <span class="jxr_string">".html"</span>);
<a name="114" href="#114">114</a>                     }
<a name="115" href="#115">115</a>                 } <strong class="jxr_keyword">else</strong> {
<a name="116" href="#116">116</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Unknown format!"</span>);
<a name="117" href="#117">117</a>                 }
<a name="118" href="#118">118</a>             }
<a name="119" href="#119">119</a> 
<a name="120" href="#120">120</a>             runner.run(<strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/CmisTckAntTask.html">AntProgressMonitor</a>());
<a name="121" href="#121">121</a> 
<a name="122" href="#122">122</a>             log(<span class="jxr_string">"CMIS TCK Report: "</span> + output.getAbsolutePath());
<a name="123" href="#123">123</a>             report.createReport(runner.getParameters(), runner.getGroups(), output);
<a name="124" href="#124">124</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="125" href="#125">125</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(<span class="jxr_string">"OpenCMIS TCK run failed!"</span>, e);
<a name="126" href="#126">126</a>         }
<a name="127" href="#127">127</a>     }
<a name="128" href="#128">128</a> 
<a name="129" href="#129">129</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/CmisTckAntTask.html">AntRunner</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/AbstractRunner.html">AbstractRunner</a> {
<a name="130" href="#130">130</a> 
<a name="131" href="#131">131</a>     }
<a name="132" href="#132">132</a> 
<a name="133" href="#133">133</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/chemistry/opencmis/tck/runner/CmisTckAntTask.html">AntProgressMonitor</a> implements <a href="../../../../../../org/apache/chemistry/opencmis/tck/CmisTestProgressMonitor.html">CmisTestProgressMonitor</a> {
<a name="134" href="#134">134</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="135" href="#135">135</a>             log(group.getName() + <span class="jxr_string">" ("</span> + group.getTests().size() + <span class="jxr_string">" tests)"</span>);
<a name="136" href="#136">136</a>         }
<a name="137" href="#137">137</a> 
<a name="138" href="#138">138</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="139" href="#139">139</a>         }
<a name="140" href="#140">140</a> 
<a name="141" href="#141">141</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="142" href="#142">142</a>             log(<span class="jxr_string">"  "</span> + test.getName());
<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> endTest(<a href="../../../../../../org/apache/chemistry/opencmis/tck/CmisTest.html">CmisTest</a> test) {
<a name="146" href="#146">146</a>         }
<a name="147" href="#147">147</a> 
<a name="148" href="#148">148</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> message(String msg) {
<a name="149" href="#149">149</a>             log(msg);
<a name="150" href="#150">150</a>         }
<a name="151" href="#151">151</a>     }
<a name="152" href="#152">152</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

