<!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>QueryParseTest 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.inmemory.query;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertEquals;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertFalse;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertNotNull;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertNull;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertTrue;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.fail;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.antlr.runtime.FailedPredicateException;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.antlr.runtime.RecognitionException;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.antlr.runtime.tree.CommonTree;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.antlr.runtime.tree.Tree;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.server.support.query.CmisQlStrictLexer;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.server.support.query.CmisQueryWalker;
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.server.support.query.CmisSelector;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.server.support.query.ColumnReference;
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.server.support.query.FunctionReference;
<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.server.support.query.QueryObject;
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.server.support.query.QueryObject.SortSpec;
<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.server.support.query.TextSearchLexer;
<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.logging.Log;
<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.logging.LogFactory;
<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.junit.Before;
<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/chemistry/opencmis/inmemory/query/QueryParseTest.html">QueryParseTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/chemistry/opencmis/inmemory/query/AbstractQueryTest.html">AbstractQueryTest</a> {
<a name="50" href="#50">50</a>  
<a name="51" href="#51">51</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Log LOG = LogFactory.getLog(QueryParseTest.<strong class="jxr_keyword">class</strong>);
<a name="52" href="#52">52</a>  
<a name="53" href="#53">53</a>      @Before
<a name="54" href="#54">54</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() {
<a name="55" href="#55">55</a>          <em class="jxr_comment">// initialize query object, we do not need a type manager for just testing parsing</em>
<a name="56" href="#56">56</a>          <strong class="jxr_keyword">super</strong>.setUp(<strong class="jxr_keyword">new</strong> QueryObject(<strong class="jxr_keyword">null</strong>), <strong class="jxr_keyword">null</strong>);
<a name="57" href="#57">57</a>      }
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>      @Test
<a name="60" href="#60">60</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleFailTest() {
<a name="61" href="#61">61</a>          String statement = <span class="jxr_string">"SELECT * TO MyType ORDER BY abc.def ASC"</span>;
<a name="62" href="#62">62</a>  <em class="jxr_comment">//        String statement = "SELECT dsfj disfj dsifj dsoijf�039fi ";</em>
<a name="63" href="#63">63</a>          <strong class="jxr_keyword">try</strong> {
<a name="64" href="#64">64</a>              traverseStatement(statement);
<a name="65" href="#65">65</a>              fail(<span class="jxr_string">"Errornous statement should throw exception."</span>);
<a name="66" href="#66">66</a>          } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="67" href="#67">67</a>              LOG.debug(<span class="jxr_string">"Exception in simpleFailTest: "</span> + e);
<a name="68" href="#68">68</a>          }
<a name="69" href="#69">69</a>      }
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleSelectTest1() {
<a name="72" href="#72">72</a>          String statement = <span class="jxr_string">"SELECT SCORE() FROM cmis:document"</span>;
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>          CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="75" href="#75">75</a>          assertNotNull(walker);
<a name="76" href="#76">76</a>  
<a name="77" href="#77">77</a>          List&lt;CmisSelector&gt; selects = queryObj.getSelectReferences();
<a name="78" href="#78">78</a>          assertTrue(1 == selects.size());
<a name="79" href="#79">79</a>          assertTrue(selects.get(0) instanceof FunctionReference);
<a name="80" href="#80">80</a>  
<a name="81" href="#81">81</a>          FunctionReference funcRef = ((FunctionReference)selects.get(0));
<a name="82" href="#82">82</a>          assertTrue(FunctionReference.CmisQlFunction.SCORE == funcRef.getFunction());
<a name="83" href="#83">83</a>      }
<a name="84" href="#84">84</a>  
<a name="85" href="#85">85</a>      @Test
<a name="86" href="#86">86</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleSelectTest2() {
<a name="87" href="#87">87</a>          String statement = <span class="jxr_string">"SELECT abc FROM cmis:document"</span>;
<a name="88" href="#88">88</a>          CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="89" href="#89">89</a>          assertNotNull(walker);
<a name="90" href="#90">90</a>  
<a name="91" href="#91">91</a>          List&lt;CmisSelector&gt; selects = queryObj.getSelectReferences();
<a name="92" href="#92">92</a>          assertTrue(1 == selects.size());
<a name="93" href="#93">93</a>          <em class="jxr_comment">// nothing should be in where references</em>
<a name="94" href="#94">94</a>          assertTrue(0 == queryObj.getWhereReferences().size());
<a name="95" href="#95">95</a>  
<a name="96" href="#96">96</a>          ColumnReference colRef = ((ColumnReference)selects.get(0));
<a name="97" href="#97">97</a>          assertTrue(selects.get(0) instanceof ColumnReference);
<a name="98" href="#98">98</a>          assertEquals(<span class="jxr_string">"abc"</span>, colRef.getPropertyQueryName());
<a name="99" href="#99">99</a>      }
<a name="100" href="#100">100</a> 
<a name="101" href="#101">101</a>     @Test
<a name="102" href="#102">102</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleSelectTest3() {
<a name="103" href="#103">103</a>         String statement = <span class="jxr_string">"SELECT t1.abc FROM cmis:document"</span>;
<a name="104" href="#104">104</a>         CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="105" href="#105">105</a>         assertNotNull(walker);
<a name="106" href="#106">106</a> 
<a name="107" href="#107">107</a>         List&lt;CmisSelector&gt; selects = queryObj.getSelectReferences();
<a name="108" href="#108">108</a>         assertTrue(1 == selects.size());
<a name="109" href="#109">109</a>         <em class="jxr_comment">// nothing should be in where references</em>
<a name="110" href="#110">110</a>         assertTrue(0 == queryObj.getWhereReferences().size());
<a name="111" href="#111">111</a>         assertTrue(selects.get(0) instanceof ColumnReference);
<a name="112" href="#112">112</a> 
<a name="113" href="#113">113</a>         ColumnReference colRef = ((ColumnReference)selects.get(0));
<a name="114" href="#114">114</a>         assertEquals(<span class="jxr_string">"t1"</span>, colRef.getQualifier());
<a name="115" href="#115">115</a>         assertEquals(<span class="jxr_string">"abc"</span>, colRef.getPropertyQueryName());
<a name="116" href="#116">116</a>     }
<a name="117" href="#117">117</a> 
<a name="118" href="#118">118</a>     @Test
<a name="119" href="#119">119</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleSelectTest4() {
<a name="120" href="#120">120</a>         String statement = <span class="jxr_string">"SELECT * FROM cmis:document"</span>;
<a name="121" href="#121">121</a>         CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="122" href="#122">122</a>         assertNotNull(walker);
<a name="123" href="#123">123</a> 
<a name="124" href="#124">124</a>         List&lt;CmisSelector&gt; selects = queryObj.getSelectReferences();
<a name="125" href="#125">125</a>         assertTrue(1 == selects.size());
<a name="126" href="#126">126</a>         <em class="jxr_comment">// nothing should be in where references</em>
<a name="127" href="#127">127</a>         assertTrue(0 == queryObj.getWhereReferences().size());
<a name="128" href="#128">128</a> 
<a name="129" href="#129">129</a>         ColumnReference colRef = ((ColumnReference)selects.get(0));
<a name="130" href="#130">130</a>         assertTrue(selects.get(0) instanceof ColumnReference);
<a name="131" href="#131">131</a>         assertEquals(<strong class="jxr_keyword">null</strong>, colRef.getQualifier());
<a name="132" href="#132">132</a>         assertEquals(<span class="jxr_string">"*"</span>, colRef.getPropertyQueryName());
<a name="133" href="#133">133</a>     }
<a name="134" href="#134">134</a> 
<a name="135" href="#135">135</a>     @Test
<a name="136" href="#136">136</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleSelectTest5() {
<a name="137" href="#137">137</a>         String statement = <span class="jxr_string">"SELECT t1.* FROM cmis:document"</span>;
<a name="138" href="#138">138</a>         CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="139" href="#139">139</a>         assertNotNull(walker);
<a name="140" href="#140">140</a> 
<a name="141" href="#141">141</a>         List&lt;CmisSelector&gt; selects = queryObj.getSelectReferences();
<a name="142" href="#142">142</a>         assertTrue(1 == selects.size());
<a name="143" href="#143">143</a>         <em class="jxr_comment">// nothing should be in where references</em>
<a name="144" href="#144">144</a>         assertTrue(0 == queryObj.getWhereReferences().size());
<a name="145" href="#145">145</a>         assertTrue(selects.get(0) instanceof ColumnReference);
<a name="146" href="#146">146</a> 
<a name="147" href="#147">147</a>         ColumnReference colRef = ((ColumnReference)selects.get(0));
<a name="148" href="#148">148</a>         assertEquals(<span class="jxr_string">"t1"</span>, colRef.getQualifier());
<a name="149" href="#149">149</a>         assertEquals(<span class="jxr_string">"*"</span>, colRef.getPropertyQueryName());
<a name="150" href="#150">150</a>     }
<a name="151" href="#151">151</a> 
<a name="152" href="#152">152</a>     @Test
<a name="153" href="#153">153</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleSelectTest6() {
<a name="154" href="#154">154</a>         String statement = <span class="jxr_string">"SELECT t2.aaa myalias FROM cmis:document"</span>;
<a name="155" href="#155">155</a>         CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="156" href="#156">156</a>         assertNotNull(walker);
<a name="157" href="#157">157</a> 
<a name="158" href="#158">158</a>         List&lt;CmisSelector&gt; selects = queryObj.getSelectReferences();
<a name="159" href="#159">159</a>         assertTrue(1 == selects.size());
<a name="160" href="#160">160</a>         <em class="jxr_comment">// nothing should be in where references</em>
<a name="161" href="#161">161</a>         assertTrue(0 == queryObj.getWhereReferences().size());
<a name="162" href="#162">162</a>         assertTrue(selects.get(0) instanceof ColumnReference);
<a name="163" href="#163">163</a> 
<a name="164" href="#164">164</a>         ColumnReference colRef = ((ColumnReference)selects.get(0));
<a name="165" href="#165">165</a>         assertEquals(<span class="jxr_string">"t2"</span>, colRef.getQualifier());
<a name="166" href="#166">166</a>         assertEquals(<span class="jxr_string">"aaa"</span>, colRef.getPropertyQueryName());
<a name="167" href="#167">167</a>     }
<a name="168" href="#168">168</a> 
<a name="169" href="#169">169</a>     @Test
<a name="170" href="#170">170</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleSelectTest7() {
<a name="171" href="#171">171</a>         <em class="jxr_comment">// error processing</em>
<a name="172" href="#172">172</a>         String statement = <span class="jxr_string">"SELECTXXX t2.aaa myalias FROM cmis:document WHERE a &lt; t1"</span>;
<a name="173" href="#173">173</a>         <strong class="jxr_keyword">try</strong> {
<a name="174" href="#174">174</a>             CmisQueryWalker walker = traverseStatement(statement);
<a name="175" href="#175">175</a>             fail(<span class="jxr_string">"Walking of statement should with RecognitionException but succeeded"</span>);
<a name="176" href="#176">176</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="177" href="#177">177</a>             assertTrue(e instanceof CmisInvalidArgumentException);
<a name="178" href="#178">178</a>         }
<a name="179" href="#179">179</a>     }
<a name="180" href="#180">180</a> 
<a name="181" href="#181">181</a>     @Test
<a name="182" href="#182">182</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleFromTest1() {
<a name="183" href="#183">183</a>         String statement = <span class="jxr_string">"SELECT * FROM MyType MyAlias"</span>;
<a name="184" href="#184">184</a> 
<a name="185" href="#185">185</a>         CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="186" href="#186">186</a>         assertNotNull(walker);
<a name="187" href="#187">187</a> 
<a name="188" href="#188">188</a>         Map&lt;String,String&gt; types = queryObj.getTypes();
<a name="189" href="#189">189</a>         assertTrue(1 == types.size());
<a name="190" href="#190">190</a> 
<a name="191" href="#191">191</a>         String key = types.keySet().iterator().next();
<a name="192" href="#192">192</a>         assertEquals(<span class="jxr_string">"MyAlias"</span>, key);
<a name="193" href="#193">193</a>         assertEquals(<span class="jxr_string">"MyType"</span>, types.get(key));
<a name="194" href="#194">194</a>     }
<a name="195" href="#195">195</a> 
<a name="196" href="#196">196</a>     @Test
<a name="197" href="#197">197</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleFromTest2() {
<a name="198" href="#198">198</a>         String statement = <span class="jxr_string">"SELECT * FROM MyType"</span>;
<a name="199" href="#199">199</a>         CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="200" href="#200">200</a>         assertNotNull(walker);
<a name="201" href="#201">201</a> 
<a name="202" href="#202">202</a>         Map&lt;String,String&gt; types = queryObj.getTypes();
<a name="203" href="#203">203</a>         assertTrue(1 == types.size());
<a name="204" href="#204">204</a> 
<a name="205" href="#205">205</a>         String key = types.keySet().iterator().next();
<a name="206" href="#206">206</a>         assertEquals(<span class="jxr_string">"MyType"</span>, key);
<a name="207" href="#207">207</a>         assertEquals(<span class="jxr_string">"MyType"</span>, types.get(key));
<a name="208" href="#208">208</a>     }
<a name="209" href="#209">209</a> 
<a name="210" href="#210">210</a>     @Test
<a name="211" href="#211">211</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleFromTest3() {
<a name="212" href="#212">212</a>         String statement = <span class="jxr_string">"SELECT t2.aaa FROM MyType abc123"</span>;
<a name="213" href="#213">213</a>         CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="214" href="#214">214</a>         assertNotNull(walker);
<a name="215" href="#215">215</a> 
<a name="216" href="#216">216</a>         Map&lt;String,String&gt; types = queryObj.getTypes();
<a name="217" href="#217">217</a>         assertTrue(1 == types.size());
<a name="218" href="#218">218</a> 
<a name="219" href="#219">219</a>         String key = types.keySet().iterator().next();
<a name="220" href="#220">220</a>         assertEquals(<span class="jxr_string">"abc123"</span>, key);
<a name="221" href="#221">221</a>         assertEquals(<span class="jxr_string">"MyType"</span>, types.get(key));
<a name="222" href="#222">222</a>     }
<a name="223" href="#223">223</a> 
<a name="224" href="#224">224</a>     @Test
<a name="225" href="#225">225</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleFromTest4() {
<a name="226" href="#226">226</a>         String statement = <span class="jxr_string">"SELECT X.aaa FROM MyType AS X WHERE 10 = ANY X.aaa "</span>;
<a name="227" href="#227">227</a>         CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="228" href="#228">228</a>         assertNotNull(walker);
<a name="229" href="#229">229</a> 
<a name="230" href="#230">230</a>         Map&lt;String,String&gt; types = queryObj.getTypes();
<a name="231" href="#231">231</a>         assertTrue(1 == types.size());
<a name="232" href="#232">232</a> 
<a name="233" href="#233">233</a>         String key = types.keySet().iterator().next();
<a name="234" href="#234">234</a>         assertEquals(<span class="jxr_string">"X"</span>, key);
<a name="235" href="#235">235</a>         assertEquals(<span class="jxr_string">"MyType"</span>, types.get(key));
<a name="236" href="#236">236</a>     }
<a name="237" href="#237">237</a> 
<a name="238" href="#238">238</a>     @Test
<a name="239" href="#239">239</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleWhereTest() {
<a name="240" href="#240">240</a>         String statement = <span class="jxr_string">"SELECT * FROM MyType WHERE MyProp1=123"</span>;
<a name="241" href="#241">241</a> 
<a name="242" href="#242">242</a>         CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="243" href="#243">243</a>         assertNotNull(walker);
<a name="244" href="#244">244</a> 
<a name="245" href="#245">245</a>         List&lt;CmisSelector&gt; whereRefs = queryObj.getWhereReferences();
<a name="246" href="#246">246</a>         Map&lt;Integer, CmisSelector&gt; colRefs = queryObj.getColumnReferences();
<a name="247" href="#247">247</a>         assertTrue(1 == whereRefs.size());
<a name="248" href="#248">248</a> 
<a name="249" href="#249">249</a>         CmisSelector value = whereRefs.iterator().next();
<a name="250" href="#250">250</a>         assertTrue(value instanceof ColumnReference);
<a name="251" href="#251">251</a>         assertEquals(<span class="jxr_string">"MyProp1"</span>, ((ColumnReference)value).getPropertyQueryName());
<a name="252" href="#252">252</a>         <em class="jxr_comment">// only "*" should be in select references</em>
<a name="253" href="#253">253</a>         assertTrue(1 == queryObj.getSelectReferences().size());
<a name="254" href="#254">254</a> 
<a name="255" href="#255">255</a>         CommonTree tree = (CommonTree) walker.getTreeNodeStream().getTreeSource();
<a name="256" href="#256">256</a> 
<a name="257" href="#257">257</a>         <em class="jxr_comment">// System.out.println("simpleWhereTest printing Tree ...");</em>
<a name="258" href="#258">258</a>         <em class="jxr_comment">// System.out.println("id in map: " + System.identityHashCode(whereRefs.keySet().iterator().next()));</em>
<a name="259" href="#259">259</a> <em class="jxr_comment">//        assertTrue(traverseTreeAndFindNodeInColumnMap(tree, colRefs));</em>
<a name="260" href="#260">260</a>         traverseTreeAndFindNodeInColumnMap2(tree, colRefs);
<a name="261" href="#261">261</a>         <em class="jxr_comment">// System.out.println("... simpleWhereTest printing Tree done.");</em>
<a name="262" href="#262">262</a>     }
<a name="263" href="#263">263</a> 
<a name="264" href="#264">264</a>     <em class="jxr_comment">// check if the map containing all column references in the where clause has an existing node as key</em>
<a name="265" href="#265">265</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> traverseTreeAndFindNodeInColumnMap(Tree node, Map&lt;Object, CmisSelector&gt; colRefs) {
<a name="266" href="#266">266</a>         <strong class="jxr_keyword">boolean</strong> found = false;
<a name="267" href="#267">267</a> <em class="jxr_comment">//        System.out.println("cmp to: " + System.identityHashCode(node) + " is: " + node.toString());</em>
<a name="268" href="#268">268</a>         <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">null</strong> != colRefs.get(node)) {
<a name="269" href="#269">269</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a name="270" href="#270">270</a>         }
<a name="271" href="#271">271</a> 
<a name="272" href="#272">272</a>         <strong class="jxr_keyword">int</strong> count = node.getChildCount();
<a name="273" href="#273">273</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0; i&lt;count &amp;&amp; !found; i++) {
<a name="274" href="#274">274</a>             Tree child = node.getChild(i);
<a name="275" href="#275">275</a>             found = traverseTreeAndFindNodeInColumnMap(child, colRefs);
<a name="276" href="#276">276</a>         }
<a name="277" href="#277">277</a>         <strong class="jxr_keyword">return</strong> found;
<a name="278" href="#278">278</a>     }
<a name="279" href="#279">279</a> 
<a name="280" href="#280">280</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> traverseTreeAndFindNodeInColumnMap2(Tree node, Object colRef) {
<a name="281" href="#281">281</a>         <strong class="jxr_keyword">int</strong> count = node.getChildCount();
<a name="282" href="#282">282</a>         LOG.debug(<span class="jxr_string">"  checking with: "</span> + node + <span class="jxr_string">" identity hash code: "</span> + System.identityHashCode(node));
<a name="283" href="#283">283</a>         <strong class="jxr_keyword">if</strong> (node==colRef) {
<a name="284" href="#284">284</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a name="285" href="#285">285</a>         }
<a name="286" href="#286">286</a>         <strong class="jxr_keyword">boolean</strong> found = false;
<a name="287" href="#287">287</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0; i&lt;count &amp;&amp; !found; i++) {
<a name="288" href="#288">288</a>             Tree child = node.getChild(i);
<a name="289" href="#289">289</a>             found = traverseTreeAndFindNodeInColumnMap2(child, colRef);
<a name="290" href="#290">290</a>         }
<a name="291" href="#291">291</a>         <strong class="jxr_keyword">return</strong> found;
<a name="292" href="#292">292</a>     }
<a name="293" href="#293">293</a> 
<a name="294" href="#294">294</a>     @Test
<a name="295" href="#295">295</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleSortTest1() {
<a name="296" href="#296">296</a>         String statement = <span class="jxr_string">"SELECT * FROM MyType ORDER BY abc.def ASC"</span>;
<a name="297" href="#297">297</a> 
<a name="298" href="#298">298</a>         CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="299" href="#299">299</a>         assertNotNull(walker);
<a name="300" href="#300">300</a> 
<a name="301" href="#301">301</a>         List&lt;SortSpec&gt; orderBys = queryObj.getOrderBys();
<a name="302" href="#302">302</a>         assertTrue(1 == orderBys.size());
<a name="303" href="#303">303</a> 
<a name="304" href="#304">304</a>         SortSpec sp = orderBys.get(0);
<a name="305" href="#305">305</a>         assertTrue(sp.isAscending());
<a name="306" href="#306">306</a> 
<a name="307" href="#307">307</a>         CmisSelector sortSpec = sp.getSelector();
<a name="308" href="#308">308</a>         assert(sortSpec instanceof ColumnReference);
<a name="309" href="#309">309</a>         assertEquals(<span class="jxr_string">"abc"</span>, ((ColumnReference)sortSpec).getQualifier());
<a name="310" href="#310">310</a>         assertEquals(<span class="jxr_string">"def"</span>, ((ColumnReference)sortSpec).getPropertyQueryName());
<a name="311" href="#311">311</a>     }
<a name="312" href="#312">312</a> 
<a name="313" href="#313">313</a>     @Test
<a name="314" href="#314">314</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simpleSortTest2() {
<a name="315" href="#315">315</a>         String statement = <span class="jxr_string">"SELECT * FROM MyType ORDER BY def DESC"</span>;
<a name="316" href="#316">316</a>         CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="317" href="#317">317</a>         assertNotNull(walker);
<a name="318" href="#318">318</a> 
<a name="319" href="#319">319</a>         List&lt;SortSpec&gt; orderBys = queryObj.getOrderBys();
<a name="320" href="#320">320</a>         assertTrue(1 == orderBys.size());
<a name="321" href="#321">321</a> 
<a name="322" href="#322">322</a>         SortSpec sp = orderBys.get(0);
<a name="323" href="#323">323</a>         assertFalse(sp.isAscending());
<a name="324" href="#324">324</a> 
<a name="325" href="#325">325</a>         CmisSelector sortSpec = sp.getSelector();
<a name="326" href="#326">326</a>         assert(sortSpec instanceof ColumnReference);
<a name="327" href="#327">327</a>         assertNull(((ColumnReference)sortSpec).getQualifier());
<a name="328" href="#328">328</a>         assertEquals(<span class="jxr_string">"def"</span>, ((ColumnReference)sortSpec).getPropertyQueryName());
<a name="329" href="#329">329</a>     }
<a name="330" href="#330">330</a> 
<a name="331" href="#331">331</a>     @Test
<a name="332" href="#332">332</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> printTreeTest() {
<a name="333" href="#333">333</a>         <em class="jxr_comment">// System.out.println("printTreeTest():");</em>
<a name="334" href="#334">334</a>         String statement = <span class="jxr_string">"SELECT p1, p2, p3.t3 mycol FROM MyType AS MyAlias WHERE p1='abc' and p2=123 ORDER BY abc.def ASC"</span>;
<a name="335" href="#335">335</a>         <strong class="jxr_keyword">try</strong> {
<a name="336" href="#336">336</a>             getWalker(statement);
<a name="337" href="#337">337</a>             Tree parserTree = (Tree) walker.getTreeNodeStream().getTreeSource();
<a name="338" href="#338">338</a>             printTree(parserTree, statement);
<a name="339" href="#339">339</a> 
<a name="340" href="#340">340</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="341" href="#341">341</a>             fail(<span class="jxr_string">"Cannot parse query: "</span> + statement + <span class="jxr_string">" ("</span> + e + <span class="jxr_string">")"</span>);
<a name="342" href="#342">342</a>         }
<a name="343" href="#343">343</a>     }
<a name="344" href="#344">344</a> 
<a name="345" href="#345">345</a>     @Test
<a name="346" href="#346">346</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> extractWhereTreeTest() {
<a name="347" href="#347">347</a>         <em class="jxr_comment">// System.out.println("extractWhereTreeTest():");</em>
<a name="348" href="#348">348</a>         String statement = <span class="jxr_string">"SELECT p1, p2, p3.t3 mycol FROM MyType AS MyAlias WHERE p1='abc' and p2=123 ORDER BY abc.def ASC"</span>;
<a name="349" href="#349">349</a> 
<a name="350" href="#350">350</a>         <strong class="jxr_keyword">try</strong> {
<a name="351" href="#351">351</a>             traverseStatementAndCatchExc(statement);
<a name="352" href="#352">352</a>             Tree whereTree = walker.getWherePredicateTree(); <em class="jxr_comment">// getWhereTree(parserTree);</em>
<a name="353" href="#353">353</a>             printTree(whereTree);
<a name="354" href="#354">354</a>             LOG.info(<span class="jxr_string">"Evaluate WHERE subtree: ..."</span>);
<a name="355" href="#355">355</a>             evalWhereTree(whereTree);
<a name="356" href="#356">356</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="357" href="#357">357</a>             fail(<span class="jxr_string">"Cannot parse query: "</span> + statement + <span class="jxr_string">" ("</span> + e + <span class="jxr_string">")"</span>);
<a name="358" href="#358">358</a>         }
<a name="359" href="#359">359</a>     }
<a name="360" href="#360">360</a> 
<a name="361" href="#361">361</a>     @Test
<a name="362" href="#362">362</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestIn() {
<a name="363" href="#363">363</a>         <em class="jxr_comment">// System.out.println("extractWhereTestIN():");</em>
<a name="364" href="#364">364</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1 IN ('Red', 'Green', 'Blue', 'Black')"</span>;
<a name="365" href="#365">365</a>         checkTreeWhere(statement);
<a name="366" href="#366">366</a>     }
<a name="367" href="#367">367</a> 
<a name="368" href="#368">368</a>     @Test
<a name="369" href="#369">369</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestEq() {
<a name="370" href="#370">370</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1='abc'"</span>;
<a name="371" href="#371">371</a>         checkTreeWhere(statement);
<a name="372" href="#372">372</a>     }
<a name="373" href="#373">373</a> 
<a name="374" href="#374">374</a>     @Test
<a name="375" href="#375">375</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestNotEq() {
<a name="376" href="#376">376</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1 &lt;&gt; 123"</span>;
<a name="377" href="#377">377</a>         checkTreeWhere(statement);
<a name="378" href="#378">378</a>     }
<a name="379" href="#379">379</a> 
<a name="380" href="#380">380</a>     @Test
<a name="381" href="#381">381</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestLT() {
<a name="382" href="#382">382</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1 &lt; 123"</span>;
<a name="383" href="#383">383</a>         checkTreeWhere(statement);
<a name="384" href="#384">384</a>     }
<a name="385" href="#385">385</a> 
<a name="386" href="#386">386</a>     @Test
<a name="387" href="#387">387</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestGT() {
<a name="388" href="#388">388</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1 &gt; 123"</span>;
<a name="389" href="#389">389</a>         checkTreeWhere(statement);
<a name="390" href="#390">390</a>     }
<a name="391" href="#391">391</a> 
<a name="392" href="#392">392</a>     @Test
<a name="393" href="#393">393</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestLTEQ() {
<a name="394" href="#394">394</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1 &lt;= 123"</span>;
<a name="395" href="#395">395</a>         checkTreeWhere(statement);
<a name="396" href="#396">396</a>     }
<a name="397" href="#397">397</a> 
<a name="398" href="#398">398</a>     @Test
<a name="399" href="#399">399</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestGTEQ() {
<a name="400" href="#400">400</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1 &gt;= 123"</span>;
<a name="401" href="#401">401</a>         checkTreeWhere(statement);
<a name="402" href="#402">402</a>     }
<a name="403" href="#403">403</a> 
<a name="404" href="#404">404</a>     @Test
<a name="405" href="#405">405</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestAnd() {
<a name="406" href="#406">406</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1=1 AND p2=2"</span>;
<a name="407" href="#407">407</a>         checkTreeWhere(statement);
<a name="408" href="#408">408</a>     }
<a name="409" href="#409">409</a> 
<a name="410" href="#410">410</a>     @Test
<a name="411" href="#411">411</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestOr() {
<a name="412" href="#412">412</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1='abc' OR p2=123"</span>;
<a name="413" href="#413">413</a>         checkTreeWhere(statement);
<a name="414" href="#414">414</a>     }
<a name="415" href="#415">415</a> 
<a name="416" href="#416">416</a>     @Test
<a name="417" href="#417">417</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestNot() {
<a name="418" href="#418">418</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE NOT p1 = 123"</span>;
<a name="419" href="#419">419</a>         checkTreeWhere(statement);
<a name="420" href="#420">420</a>     }
<a name="421" href="#421">421</a> 
<a name="422" href="#422">422</a>     @Test
<a name="423" href="#423">423</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestInFolder() {
<a name="424" href="#424">424</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE IN_FOLDER('myfolder')"</span>;
<a name="425" href="#425">425</a>         checkTreeWhere(statement);
<a name="426" href="#426">426</a>     }
<a name="427" href="#427">427</a> 
<a name="428" href="#428">428</a>     @Test
<a name="429" href="#429">429</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestInTree() {
<a name="430" href="#430">430</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE IN_TREE('myfolder')"</span>;
<a name="431" href="#431">431</a>         checkTreeWhere(statement);
<a name="432" href="#432">432</a>     }
<a name="433" href="#433">433</a> 
<a name="434" href="#434">434</a>     @Test
<a name="435" href="#435">435</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestAny() {
<a name="436" href="#436">436</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE 'Smith' = ANY Authors "</span>;
<a name="437" href="#437">437</a>         checkTreeWhere(statement);
<a name="438" href="#438">438</a>     }
<a name="439" href="#439">439</a> 
<a name="440" href="#440">440</a> 
<a name="441" href="#441">441</a>     @Test
<a name="442" href="#442">442</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestAnyIn() {
<a name="443" href="#443">443</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE ANY Colors IN ('Red', 'Green', 'Blue')"</span>;
<a name="444" href="#444">444</a>         checkTreeWhere(statement);
<a name="445" href="#445">445</a>     }
<a name="446" href="#446">446</a> 
<a name="447" href="#447">447</a>     @Test
<a name="448" href="#448">448</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestLike() {
<a name="449" href="#449">449</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1 LIKE 'abc*' "</span>;
<a name="450" href="#450">450</a>         checkTreeWhere(statement);
<a name="451" href="#451">451</a>     }
<a name="452" href="#452">452</a> 
<a name="453" href="#453">453</a>     @Test
<a name="454" href="#454">454</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestNotLike() {
<a name="455" href="#455">455</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1 NOT LIKE 'abc*'"</span>;
<a name="456" href="#456">456</a>         checkTreeWhere(statement);
<a name="457" href="#457">457</a>     }
<a name="458" href="#458">458</a> 
<a name="459" href="#459">459</a>     @Test
<a name="460" href="#460">460</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestNull() {
<a name="461" href="#461">461</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1 IS NULL"</span>;
<a name="462" href="#462">462</a>         checkTreeWhere(statement);
<a name="463" href="#463">463</a>     }
<a name="464" href="#464">464</a> 
<a name="465" href="#465">465</a>     @Test
<a name="466" href="#466">466</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestNotNull() {
<a name="467" href="#467">467</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE p1 IS NOT NULL"</span>;
<a name="468" href="#468">468</a>         checkTreeWhere(statement);
<a name="469" href="#469">469</a>     }
<a name="470" href="#470">470</a> 
<a name="471" href="#471">471</a>     @Test
<a name="472" href="#472">472</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestContains() {
<a name="473" href="#473">473</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE CONTAINS('Beethoven')"</span>;
<a name="474" href="#474">474</a>         checkTreeWhere(statement);
<a name="475" href="#475">475</a>         Tree tree = findSearchExpression(statement);
<a name="476" href="#476">476</a>         printSearchTree(tree, statement);
<a name="477" href="#477">477</a>         assertEquals(<span class="jxr_string">"Beethoven"</span>, tree.getChild(0).getText());
<a name="478" href="#478">478</a>     }
<a name="479" href="#479">479</a> 
<a name="480" href="#480">480</a>     @Test
<a name="481" href="#481">481</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestContainsNoFulltextParse() <strong class="jxr_keyword">throws</strong> Exception {
<a name="482" href="#482">482</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE CONTAINS('Beethoven')"</span>;
<a name="483" href="#483">483</a>         walker = getWalker(statement);
<a name="484" href="#484">484</a>         walker.setDoFullTextParse(false);
<a name="485" href="#485">485</a>         walker.query(queryObj, predicateWalker);
<a name="486" href="#486">486</a>         Tree whereTree = walker.getWherePredicateTree();
<a name="487" href="#487">487</a>         Tree tree = findTextSearchNode(whereTree);
<a name="488" href="#488">488</a>         printSearchTree(tree, statement);
<a name="489" href="#489">489</a>         <em class="jxr_comment">// unparsed, still with quotes</em>
<a name="490" href="#490">490</a>         assertEquals(<span class="jxr_string">"'Beethoven'"</span>, tree.getChild(0).getText());
<a name="491" href="#491">491</a>     }
<a name="492" href="#492">492</a> 
<a name="493" href="#493">493</a>     @Test
<a name="494" href="#494">494</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestScore() {
<a name="495" href="#495">495</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE SCORE() = 100"</span>;
<a name="496" href="#496">496</a>         checkTreeWhere(statement);
<a name="497" href="#497">497</a>     }
<a name="498" href="#498">498</a> 
<a name="499" href="#499">499</a>     @Test
<a name="500" href="#500">500</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestParentheses() {
<a name="501" href="#501">501</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE (p1 IS NULL OR SCORE()=100) AND (p2=123 OR p3=456)"</span>;
<a name="502" href="#502">502</a>         checkTreeWhere(statement);
<a name="503" href="#503">503</a>     }
<a name="504" href="#504">504</a> 
<a name="505" href="#505">505</a>     @Test
<a name="506" href="#506">506</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> doubleFromTest() {
<a name="507" href="#507">507</a>         String statement = <span class="jxr_string">"SELECT * FROM MyType JOIN YourType WHERE a='1'"</span>;
<a name="508" href="#508">508</a> 
<a name="509" href="#509">509</a>         CmisQueryWalker walker = traverseStatementAndCatchExc(statement);
<a name="510" href="#510">510</a>         assertNotNull(walker);
<a name="511" href="#511">511</a> 
<a name="512" href="#512">512</a>         QueryObject from = queryObj;
<a name="513" href="#513">513</a>         Map&lt;String,String&gt; types = from.getTypes();
<a name="514" href="#514">514</a>         assertTrue(2 == types.size());
<a name="515" href="#515">515</a>     }
<a name="516" href="#516">516</a> 
<a name="517" href="#517">517</a>     @Test
<a name="518" href="#518">518</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> duplicatedAliasTestSelect() {
<a name="519" href="#519">519</a>         String statement = <span class="jxr_string">"SELECT p1.T1 MyAlias, p2.T1 AS MyAlias FROM T1"</span>;
<a name="520" href="#520">520</a>         <strong class="jxr_keyword">try</strong> {
<a name="521" href="#521">521</a>             traverseStatement(statement);
<a name="522" href="#522">522</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="523" href="#523">523</a>             assertTrue(e.getMessage().contains(<span class="jxr_string">"more than once as alias in a select"</span>));
<a name="524" href="#524">524</a>         }
<a name="525" href="#525">525</a>     }
<a name="526" href="#526">526</a> 
<a name="527" href="#527">527</a>     @Test
<a name="528" href="#528">528</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> duplicatedAliasTestFrom() {
<a name="529" href="#529">529</a>         String statement = <span class="jxr_string">"SELECT * FROM T1 MyAlias JOIN T2 AS MyAlias"</span>;
<a name="530" href="#530">530</a>         <strong class="jxr_keyword">try</strong> {
<a name="531" href="#531">531</a>             traverseStatement(statement);
<a name="532" href="#532">532</a>             fail(<span class="jxr_string">"Parsing statement "</span> + statement + <span class="jxr_string">" should fail."</span>);
<a name="533" href="#533">533</a>         } <strong class="jxr_keyword">catch</strong> (RecognitionException e) {
<a name="534" href="#534">534</a>             assertTrue(e instanceof FailedPredicateException);
<a name="535" href="#535">535</a>             LOG.debug(<span class="jxr_string">"duplicatedAliasTestFrom(), exception: "</span> + e);
<a name="536" href="#536">536</a>             <em class="jxr_comment">// walker.reportError(e);</em>
<a name="537" href="#537">537</a>             String errorMessage = queryUtil.getErrorMessage(e);
<a name="538" href="#538">538</a>             LOG.debug(<span class="jxr_string">""</span>);
<a name="539" href="#539">539</a>             LOG.debug(<span class="jxr_string">"duplicatedAliasTestFrom(), error message: "</span> + errorMessage);
<a name="540" href="#540">540</a>             assertTrue(e.toString().contains(<span class="jxr_string">"more than once as alias in a from"</span>));
<a name="541" href="#541">541</a>             assertTrue(errorMessage.contains(<span class="jxr_string">"more than once as alias in a from"</span>));
<a name="542" href="#542">542</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="543" href="#543">543</a>             fail(<span class="jxr_string">"Parsing statement "</span> + statement + <span class="jxr_string">" should fail with RecognitionException, but was: "</span> + e.getClass());
<a name="544" href="#544">544</a>         }
<a name="545" href="#545">545</a>     }
<a name="546" href="#546">546</a>     
<a name="547" href="#547">547</a>     @Test
<a name="548" href="#548">548</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> whereTestContains2() {
<a name="549" href="#549">549</a>         String statement = <span class="jxr_string">"SELECT p1 FROM MyType WHERE CONTAINS('Beethoven OR &#92;&#92;'Johann Sebastian&#92;&#92;' Mozart -Cage AND Orff')"</span>;
<a name="550" href="#550">550</a>         checkTreeWhere(statement);
<a name="551" href="#551">551</a>         Tree tree = findSearchExpression(statement);
<a name="552" href="#552">552</a>         printSearchTree(tree, statement);
<a name="553" href="#553">553</a>     }
<a name="554" href="#554">554</a>     
<a name="555" href="#555">555</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkTreeWhere(String statement) {
<a name="556" href="#556">556</a>         LOG.info(<span class="jxr_string">"\ncheckTreeWhere: "</span> + statement);
<a name="557" href="#557">557</a>         traverseStatementAndCatchExc(statement);
<a name="558" href="#558">558</a>         Tree whereTree = walker.getWherePredicateTree();
<a name="559" href="#559">559</a>         evalWhereTree(whereTree);
<a name="560" href="#560">560</a>     }
<a name="561" href="#561">561</a>     
<a name="562" href="#562">562</a>     <strong class="jxr_keyword">private</strong> Tree findSearchExpression(String statement) {
<a name="563" href="#563">563</a>         traverseStatementAndCatchExc(statement);
<a name="564" href="#564">564</a>         Tree whereTree = walker.getWherePredicateTree(); 
<a name="565" href="#565">565</a>         <strong class="jxr_keyword">return</strong> findTextSearchNode(whereTree);
<a name="566" href="#566">566</a>     }
<a name="567" href="#567">567</a>     
<a name="568" href="#568">568</a>     <strong class="jxr_keyword">private</strong> Tree findTextSearchNode(Tree node) {
<a name="569" href="#569">569</a>         <strong class="jxr_keyword">int</strong> count = node.getChildCount();
<a name="570" href="#570">570</a>         <strong class="jxr_keyword">if</strong> (node.getType() == CmisQlStrictLexer.CONTAINS) {
<a name="571" href="#571">571</a>             <strong class="jxr_keyword">return</strong> node;
<a name="572" href="#572">572</a>         } <strong class="jxr_keyword">else</strong> {
<a name="573" href="#573">573</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0; i&lt;count; i++) {
<a name="574" href="#574">574</a>                 Tree child = node.getChild(i);
<a name="575" href="#575">575</a>                 node = findTextSearchNode(child); <em class="jxr_comment">// recursive descent</em>
<a name="576" href="#576">576</a>                 <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">null</strong> != node)
<a name="577" href="#577">577</a>                     <strong class="jxr_keyword">return</strong> node;
<a name="578" href="#578">578</a>             }
<a name="579" href="#579">579</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="580" href="#580">580</a>         }        
<a name="581" href="#581">581</a>     }
<a name="582" href="#582">582</a> 
<a name="583" href="#583">583</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> evalWhereTree(Tree root) {
<a name="584" href="#584">584</a>         <strong class="jxr_keyword">int</strong> count = root.getChildCount();
<a name="585" href="#585">585</a>         <strong class="jxr_keyword">if</strong> (root.getType() == CmisQlStrictLexer.CONTAINS) {
<a name="586" href="#586">586</a>             evalSearchExprTree(root);
<a name="587" href="#587">587</a>         } <strong class="jxr_keyword">else</strong> {
<a name="588" href="#588">588</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0; i&lt;count; i++) {
<a name="589" href="#589">589</a>                 Tree child = root.getChild(i);
<a name="590" href="#590">590</a>                 evaluateWhereNode(child);
<a name="591" href="#591">591</a>                 evalWhereTree(child); <em class="jxr_comment">// recursive descent</em>
<a name="592" href="#592">592</a>             }
<a name="593" href="#593">593</a>         }
<a name="594" href="#594">594</a>     }
<a name="595" href="#595">595</a>     
<a name="596" href="#596">596</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> evalSearchExprTree(Tree root) {
<a name="597" href="#597">597</a>         <strong class="jxr_keyword">int</strong> count = root.getChildCount();
<a name="598" href="#598">598</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0; i&lt;count; i++) {
<a name="599" href="#599">599</a>             Tree child = root.getChild(i);
<a name="600" href="#600">600</a>             evaluateSearchExprNode(child);
<a name="601" href="#601">601</a>             evalSearchExprTree(child); <em class="jxr_comment">// recursive descent</em>
<a name="602" href="#602">602</a>         }
<a name="603" href="#603">603</a>     }
<a name="604" href="#604">604</a>     
<a name="605" href="#605">605</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> printTree(Tree tree, String statement) {
<a name="606" href="#606">606</a>         LOG.info(<span class="jxr_string">"Printing the abstract syntax tree for statement:"</span>);
<a name="607" href="#607">607</a>         LOG.info(<span class="jxr_string">"  "</span> + statement);
<a name="608" href="#608">608</a>         printTree(tree);
<a name="609" href="#609">609</a>     }
<a name="610" href="#610">610</a> 
<a name="611" href="#611">611</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> indent = 1;
<a name="612" href="#612">612</a> 
<a name="613" href="#613">613</a>     <strong class="jxr_keyword">private</strong> String indentString() {
<a name="614" href="#614">614</a>         StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
<a name="615" href="#615">615</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; indent; ++i) {
<a name="616" href="#616">616</a>             sb.append(<span class="jxr_string">"  "</span>);
<a name="617" href="#617">617</a>         }
<a name="618" href="#618">618</a>         <strong class="jxr_keyword">return</strong> sb.toString();
<a name="619" href="#619">619</a>     }
<a name="620" href="#620">620</a> 
<a name="621" href="#621">621</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> printTree(Tree node) {
<a name="622" href="#622">622</a>         LOG.info(indentString() + printNode(node));
<a name="623" href="#623">623</a>         ++indent;
<a name="624" href="#624">624</a>         <strong class="jxr_keyword">int</strong> count = node.getChildCount();
<a name="625" href="#625">625</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0;i&lt;count;i++) {
<a name="626" href="#626">626</a>             Tree child = node.getChild(i);
<a name="627" href="#627">627</a>             printTree(child);
<a name="628" href="#628">628</a>         }
<a name="629" href="#629">629</a>         --indent;
<a name="630" href="#630">630</a>     }
<a name="631" href="#631">631</a> 
<a name="632" href="#632">632</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String printNode(Tree node) {
<a name="633" href="#633">633</a>         <strong class="jxr_keyword">switch</strong> (node.getType()) {
<a name="634" href="#634">634</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.TABLE:
<a name="635" href="#635">635</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"#TABLE"</span>;
<a name="636" href="#636">636</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.COL:
<a name="637" href="#637">637</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"#COL"</span>;
<a name="638" href="#638">638</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IN_LIST:
<a name="639" href="#639">639</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"#IN_LIST"</span>;
<a name="640" href="#640">640</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.SEL_LIST:
<a name="641" href="#641">641</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"#SEL_LIST"</span>;
<a name="642" href="#642">642</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.EQ_ANY:
<a name="643" href="#643">643</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"#EQ_ANY"</span>;
<a name="644" href="#644">644</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NOT_LIKE:
<a name="645" href="#645">645</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"#NOT_LIKE"</span>;
<a name="646" href="#646">646</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NOT_IN:
<a name="647" href="#647">647</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"#NOT_IN"</span>;
<a name="648" href="#648">648</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IN_ANY:
<a name="649" href="#649">649</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"#IN_ANY"</span>;
<a name="650" href="#650">650</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NOT_IN_ANY:
<a name="651" href="#651">651</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"#NOT_IN_ANY"</span>;
<a name="652" href="#652">652</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IS_NULL:
<a name="653" href="#653">653</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"#IS_NULL"</span>;
<a name="654" href="#654">654</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IS_NOT_NULL:
<a name="655" href="#655">655</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"#IS_NOT_NULL"</span>;
<a name="656" href="#656">656</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.ORDER_BY:
<a name="657" href="#657">657</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"#ORDER_BY"</span>;
<a name="658" href="#658">658</a> 
<a name="659" href="#659">659</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.WHERE:
<a name="660" href="#660">660</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.LT:
<a name="661" href="#661">661</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.STAR:
<a name="662" href="#662">662</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.BOOL_LIT:
<a name="663" href="#663">663</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.INNER:
<a name="664" href="#664">664</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.TIME_LIT:
<a name="665" href="#665">665</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.ORDER:
<a name="666" href="#666">666</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.STRING_LIT:
<a name="667" href="#667">667</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.CONTAINS:
<a name="668" href="#668">668</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.ExactNumLit:
<a name="669" href="#669">669</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.LTEQ:
<a name="670" href="#670">670</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NOT:
<a name="671" href="#671">671</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.ID:
<a name="672" href="#672">672</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.AND:
<a name="673" href="#673">673</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.EOF:
<a name="674" href="#674">674</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.AS:
<a name="675" href="#675">675</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IN:
<a name="676" href="#676">676</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.LPAR:
<a name="677" href="#677">677</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.Digits:
<a name="678" href="#678">678</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.COMMA:
<a name="679" href="#679">679</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IS:
<a name="680" href="#680">680</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.LEFT:
<a name="681" href="#681">681</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.Sign:
<a name="682" href="#682">682</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.EQ:
<a name="683" href="#683">683</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.DOT:
<a name="684" href="#684">684</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NUM_LIT:
<a name="685" href="#685">685</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.SELECT:
<a name="686" href="#686">686</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.LIKE:
<a name="687" href="#687">687</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.OUTER:
<a name="688" href="#688">688</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.BY:
<a name="689" href="#689">689</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.ASC:
<a name="690" href="#690">690</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NULL:
<a name="691" href="#691">691</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.ON:
<a name="692" href="#692">692</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.RIGHT:
<a name="693" href="#693">693</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.GTEQ:
<a name="694" href="#694">694</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.ApproxNumLit:
<a name="695" href="#695">695</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.JOIN:
<a name="696" href="#696">696</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IN_FOLDER:
<a name="697" href="#697">697</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.WS:
<a name="698" href="#698">698</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NEQ:
<a name="699" href="#699">699</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.ANY:
<a name="700" href="#700">700</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.SCORE:
<a name="701" href="#701">701</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IN_TREE:
<a name="702" href="#702">702</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.OR:
<a name="703" href="#703">703</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.GT:
<a name="704" href="#704">704</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.RPAR:
<a name="705" href="#705">705</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.DESC:
<a name="706" href="#706">706</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.FROM:
<a name="707" href="#707">707</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.TIMESTAMP:
<a name="708" href="#708">708</a>             <strong class="jxr_keyword">return</strong> node.toString();
<a name="709" href="#709">709</a>         <strong class="jxr_keyword">default</strong>:
<a name="710" href="#710">710</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"[Unknown token: "</span> + node.toString() + <span class="jxr_string">"]"</span>;
<a name="711" href="#711">711</a>         }
<a name="712" href="#712">712</a>     }
<a name="713" href="#713">713</a> 
<a name="714" href="#714">714</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> printSearchTree(Tree tree, String searchExpr) {
<a name="715" href="#715">715</a>         LOG.info(<span class="jxr_string">"Printhing the abstract syntax tree for the search expression in CONTAINS :"</span>);
<a name="716" href="#716">716</a>         LOG.info(searchExpr);
<a name="717" href="#717">717</a>         printSearchTree(tree);
<a name="718" href="#718">718</a>     }
<a name="719" href="#719">719</a> 
<a name="720" href="#720">720</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> printSearchTree(Tree node) {
<a name="721" href="#721">721</a>         LOG.info(indentString() + printSearchNode(node));
<a name="722" href="#722">722</a>         ++indent;
<a name="723" href="#723">723</a>         <strong class="jxr_keyword">int</strong> count = node.getChildCount();
<a name="724" href="#724">724</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0;i&lt;count;i++) {
<a name="725" href="#725">725</a>             Tree child = node.getChild(i);
<a name="726" href="#726">726</a>             printSearchTree(child);
<a name="727" href="#727">727</a>         }
<a name="728" href="#728">728</a>         --indent;
<a name="729" href="#729">729</a>     }
<a name="730" href="#730">730</a> 
<a name="731" href="#731">731</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String printSearchNode(Tree node) {
<a name="732" href="#732">732</a>         <strong class="jxr_keyword">switch</strong> (node.getType()) {
<a name="733" href="#733">733</a>         <strong class="jxr_keyword">case</strong> TextSearchLexer.TEXT_AND:
<a name="734" href="#734">734</a>         <strong class="jxr_keyword">case</strong> TextSearchLexer.TEXT_OR:
<a name="735" href="#735">735</a>         <strong class="jxr_keyword">case</strong> TextSearchLexer.TEXT_SEARCH_PHRASE_STRING_LIT:
<a name="736" href="#736">736</a>         <strong class="jxr_keyword">case</strong> TextSearchLexer.TEXT_SEARCH_WORD_LIT:            
<a name="737" href="#737">737</a>             <strong class="jxr_keyword">return</strong> node.toString();
<a name="738" href="#738">738</a>         <strong class="jxr_keyword">case</strong> TextSearchLexer.TEXT_MINUS:
<a name="739" href="#739">739</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"MINUS"</span>;
<a name="740" href="#740">740</a>          <strong class="jxr_keyword">default</strong>:
<a name="741" href="#741">741</a>              <strong class="jxr_keyword">return</strong> <span class="jxr_string">"Unknown token: "</span> +  node.toString();
<a name="742" href="#742">742</a>         }
<a name="743" href="#743">743</a>     }
<a name="744" href="#744">744</a>     
<a name="745" href="#745">745</a>     <em class="jxr_comment">// Ensure that we receive only valid tokens and nodes in the where clause:</em>
<a name="746" href="#746">746</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> evaluateWhereNode(Tree node) {
<a name="747" href="#747">747</a>         LOG.info(<span class="jxr_string">"evaluating node: "</span> + node.toString());
<a name="748" href="#748">748</a>         <strong class="jxr_keyword">switch</strong> (node.getType()) {
<a name="749" href="#749">749</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.WHERE:
<a name="750" href="#750">750</a>             <strong class="jxr_keyword">break</strong>; <em class="jxr_comment">// ignore</em>
<a name="751" href="#751">751</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.COL:
<a name="752" href="#752">752</a>             evalColumn(node);
<a name="753" href="#753">753</a>             <strong class="jxr_keyword">break</strong>;
<a name="754" href="#754">754</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IN_LIST:
<a name="755" href="#755">755</a>             evalInList(node);
<a name="756" href="#756">756</a>             <strong class="jxr_keyword">break</strong>;
<a name="757" href="#757">757</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IN_ANY:
<a name="758" href="#758">758</a>             evalInAny(node);
<a name="759" href="#759">759</a>             <strong class="jxr_keyword">break</strong>;
<a name="760" href="#760">760</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.EQ_ANY:
<a name="761" href="#761">761</a>             evalEqAny(node);
<a name="762" href="#762">762</a>             <strong class="jxr_keyword">break</strong>;
<a name="763" href="#763">763</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NOT_LIKE:
<a name="764" href="#764">764</a>             evalNotLike(node);
<a name="765" href="#765">765</a>             <strong class="jxr_keyword">break</strong>;
<a name="766" href="#766">766</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NOT_IN:
<a name="767" href="#767">767</a>             evalNotIn(node);
<a name="768" href="#768">768</a>             <strong class="jxr_keyword">break</strong>;
<a name="769" href="#769">769</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IS_NULL:
<a name="770" href="#770">770</a>             evalIsNull(node);
<a name="771" href="#771">771</a>             <strong class="jxr_keyword">break</strong>;
<a name="772" href="#772">772</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IS_NOT_NULL:
<a name="773" href="#773">773</a>             evalIsNotNull(node);
<a name="774" href="#774">774</a>             <strong class="jxr_keyword">break</strong>;
<a name="775" href="#775">775</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.LT:
<a name="776" href="#776">776</a>             evalLessThan(node);
<a name="777" href="#777">777</a>             <strong class="jxr_keyword">break</strong>;
<a name="778" href="#778">778</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.BOOL_LIT:
<a name="779" href="#779">779</a>             evalBooleanLiteral(node);
<a name="780" href="#780">780</a>             <strong class="jxr_keyword">break</strong>;
<a name="781" href="#781">781</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.TIME_LIT:
<a name="782" href="#782">782</a>             evalTimeLiteral(node);
<a name="783" href="#783">783</a>             <strong class="jxr_keyword">break</strong>;
<a name="784" href="#784">784</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.STRING_LIT:
<a name="785" href="#785">785</a>             evalStringLiteral(node);
<a name="786" href="#786">786</a>             <strong class="jxr_keyword">break</strong>;
<a name="787" href="#787">787</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.CONTAINS:
<a name="788" href="#788">788</a>             evalContains(node);
<a name="789" href="#789">789</a>             <strong class="jxr_keyword">break</strong>;
<a name="790" href="#790">790</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.ExactNumLit:
<a name="791" href="#791">791</a>             evalExactNumLiteral(node);
<a name="792" href="#792">792</a>             <strong class="jxr_keyword">break</strong>;
<a name="793" href="#793">793</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.LTEQ:
<a name="794" href="#794">794</a>             evalLessOrEqual(node);
<a name="795" href="#795">795</a>             <strong class="jxr_keyword">break</strong>;
<a name="796" href="#796">796</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NOT:
<a name="797" href="#797">797</a>             evalNot(node);
<a name="798" href="#798">798</a>             <strong class="jxr_keyword">break</strong>;
<a name="799" href="#799">799</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.ID:
<a name="800" href="#800">800</a>             evalId(node);
<a name="801" href="#801">801</a>             <strong class="jxr_keyword">break</strong>;
<a name="802" href="#802">802</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.AND:
<a name="803" href="#803">803</a>             evalAnd(node);
<a name="804" href="#804">804</a>             <strong class="jxr_keyword">break</strong>;
<a name="805" href="#805">805</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IN:
<a name="806" href="#806">806</a>             evalIn(node);
<a name="807" href="#807">807</a>             <strong class="jxr_keyword">break</strong>;
<a name="808" href="#808">808</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.EQ:
<a name="809" href="#809">809</a>             evalEquals(node);
<a name="810" href="#810">810</a>             <strong class="jxr_keyword">break</strong>;
<a name="811" href="#811">811</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NUM_LIT:
<a name="812" href="#812">812</a>             evalNumLiteral(node);
<a name="813" href="#813">813</a>             <strong class="jxr_keyword">break</strong>;
<a name="814" href="#814">814</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.LIKE:
<a name="815" href="#815">815</a>             evalLike(node);
<a name="816" href="#816">816</a>             <strong class="jxr_keyword">break</strong>;
<a name="817" href="#817">817</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NULL:
<a name="818" href="#818">818</a>             evalNull(node);
<a name="819" href="#819">819</a>             <strong class="jxr_keyword">break</strong>;
<a name="820" href="#820">820</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.GTEQ:
<a name="821" href="#821">821</a>             evalGreaterThan(node);
<a name="822" href="#822">822</a>             <strong class="jxr_keyword">break</strong>;
<a name="823" href="#823">823</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.ApproxNumLit:
<a name="824" href="#824">824</a>             evalApproxNumLiteral(node);
<a name="825" href="#825">825</a>             <strong class="jxr_keyword">break</strong>;
<a name="826" href="#826">826</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IN_FOLDER:
<a name="827" href="#827">827</a>             evalInFolder(node);
<a name="828" href="#828">828</a>             <strong class="jxr_keyword">break</strong>;
<a name="829" href="#829">829</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NEQ:
<a name="830" href="#830">830</a>             evalNotEquals(node);
<a name="831" href="#831">831</a>             <strong class="jxr_keyword">break</strong>;
<a name="832" href="#832">832</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.SCORE:
<a name="833" href="#833">833</a>             evalScore(node);
<a name="834" href="#834">834</a>             <strong class="jxr_keyword">break</strong>;
<a name="835" href="#835">835</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.IN_TREE:
<a name="836" href="#836">836</a>             evalInTree(node);
<a name="837" href="#837">837</a>             <strong class="jxr_keyword">break</strong>;
<a name="838" href="#838">838</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.OR:
<a name="839" href="#839">839</a>             evalOr(node);
<a name="840" href="#840">840</a>             <strong class="jxr_keyword">break</strong>;
<a name="841" href="#841">841</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.GT:
<a name="842" href="#842">842</a>             evalGreaterThan(node);
<a name="843" href="#843">843</a>             <strong class="jxr_keyword">break</strong>;
<a name="844" href="#844">844</a>         <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.TIMESTAMP:
<a name="845" href="#845">845</a>             evalTimeLiteral(node);
<a name="846" href="#846">846</a>             <strong class="jxr_keyword">break</strong>;
<a name="847" href="#847">847</a>         <strong class="jxr_keyword">default</strong>:
<a name="848" href="#848">848</a>             fail(<span class="jxr_string">"[Unexpected node in WHERE clause: "</span> + node.toString() + <span class="jxr_string">"]"</span>);
<a name="849" href="#849">849</a>         }
<a name="850" href="#850">850</a>     }
<a name="851" href="#851">851</a> 
<a name="852" href="#852">852</a>     <em class="jxr_comment">// Ensure that we receive only valid tokens and nodes in the where clause:</em>
<a name="853" href="#853">853</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> evaluateSearchExprNode(Tree node) {
<a name="854" href="#854">854</a>         LOG.info(<span class="jxr_string">"evaluating text search expression node: "</span> + node.toString());
<a name="855" href="#855">855</a>         <strong class="jxr_keyword">switch</strong> (node.getType()) {
<a name="856" href="#856">856</a>         <strong class="jxr_keyword">case</strong> TextSearchLexer.TEXT_AND:
<a name="857" href="#857">857</a>         <strong class="jxr_keyword">case</strong> TextSearchLexer.TEXT_OR:
<a name="858" href="#858">858</a>             assertTrue(node.getChildCount() &gt;= 2 );
<a name="859" href="#859">859</a>             <strong class="jxr_keyword">break</strong>;
<a name="860" href="#860">860</a>         <strong class="jxr_keyword">case</strong> TextSearchLexer.TEXT_MINUS:
<a name="861" href="#861">861</a>             assertEquals(1, node.getChildCount());
<a name="862" href="#862">862</a>             <strong class="jxr_keyword">break</strong>;
<a name="863" href="#863">863</a>         <strong class="jxr_keyword">case</strong> TextSearchLexer.TEXT_SEARCH_PHRASE_STRING_LIT:
<a name="864" href="#864">864</a>         <strong class="jxr_keyword">case</strong> TextSearchLexer.TEXT_SEARCH_WORD_LIT:
<a name="865" href="#865">865</a>             evalStringLiteral(node);
<a name="866" href="#866">866</a>             <strong class="jxr_keyword">break</strong>;
<a name="867" href="#867">867</a>         <strong class="jxr_keyword">default</strong>:
<a name="868" href="#868">868</a>             fail(<span class="jxr_string">"[Unexpected node in text search expression: "</span> + node.toString() + <span class="jxr_string">"]"</span>);         
<a name="869" href="#869">869</a>         }
<a name="870" href="#870">870</a>     }
<a name="871" href="#871">871</a>         
<a name="872" href="#872">872</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> evalInAny(Tree node) {
<a name="873" href="#873">873</a>     }
<a name="874" href="#874">874</a> 
<a name="875" href="#875">875</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalColumn(Tree node) {
<a name="876" href="#876">876</a>         assertEquals(1, node.getChildCount());
<a name="877" href="#877">877</a>         assertEquals(CmisQlStrictLexer.ID, node.getChild(0).getType());
<a name="878" href="#878">878</a>     }
<a name="879" href="#879">879</a> 
<a name="880" href="#880">880</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalEquals(Tree node) {
<a name="881" href="#881">881</a>         assertEquals(2, node.getChildCount());
<a name="882" href="#882">882</a>     }
<a name="883" href="#883">883</a> 
<a name="884" href="#884">884</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalInFolder(Tree node) {
<a name="885" href="#885">885</a>         assertEquals(1, node.getChildCount());
<a name="886" href="#886">886</a>     }
<a name="887" href="#887">887</a> 
<a name="888" href="#888">888</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalApproxNumLiteral(Tree node) {
<a name="889" href="#889">889</a>     }
<a name="890" href="#890">890</a> 
<a name="891" href="#891">891</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalNull(Tree node) {
<a name="892" href="#892">892</a>         assertEquals(1, node.getChildCount());
<a name="893" href="#893">893</a>     }
<a name="894" href="#894">894</a> 
<a name="895" href="#895">895</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalLike(Tree node) {
<a name="896" href="#896">896</a>         assertEquals(2, node.getChildCount());
<a name="897" href="#897">897</a>     }
<a name="898" href="#898">898</a> 
<a name="899" href="#899">899</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalNumLiteral(Tree node) {
<a name="900" href="#900">900</a>         assertEquals(0, node.getChildCount());
<a name="901" href="#901">901</a>     }
<a name="902" href="#902">902</a> 
<a name="903" href="#903">903</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalInList(Tree node) {
<a name="904" href="#904">904</a>     }
<a name="905" href="#905">905</a> 
<a name="906" href="#906">906</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalEqAny(Tree node) {
<a name="907" href="#907">907</a>     }
<a name="908" href="#908">908</a> 
<a name="909" href="#909">909</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalNotLike(Tree node) {
<a name="910" href="#910">910</a>         assertEquals(2, node.getChildCount());
<a name="911" href="#911">911</a>     }
<a name="912" href="#912">912</a> 
<a name="913" href="#913">913</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalNotIn(Tree node) {
<a name="914" href="#914">914</a>     }
<a name="915" href="#915">915</a> 
<a name="916" href="#916">916</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalIsNull(Tree node) {
<a name="917" href="#917">917</a>         assertEquals(1, node.getChildCount());
<a name="918" href="#918">918</a>     }
<a name="919" href="#919">919</a> 
<a name="920" href="#920">920</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalIsNotNull(Tree node) {
<a name="921" href="#921">921</a>         assertEquals(1, node.getChildCount());
<a name="922" href="#922">922</a>     }
<a name="923" href="#923">923</a> 
<a name="924" href="#924">924</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalLessThan(Tree node) {
<a name="925" href="#925">925</a>         assertEquals(2, node.getChildCount());
<a name="926" href="#926">926</a>     }
<a name="927" href="#927">927</a> 
<a name="928" href="#928">928</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalBooleanLiteral(Tree node) {
<a name="929" href="#929">929</a>         assertEquals(0, node.getChildCount());
<a name="930" href="#930">930</a>     }
<a name="931" href="#931">931</a> 
<a name="932" href="#932">932</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalStringLiteral(Tree node) {
<a name="933" href="#933">933</a>         assertEquals(0, node.getChildCount());
<a name="934" href="#934">934</a>     }
<a name="935" href="#935">935</a> 
<a name="936" href="#936">936</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalContains(Tree node) {
<a name="937" href="#937">937</a>         assertEquals(1, node.getChildCount());
<a name="938" href="#938">938</a>     }
<a name="939" href="#939">939</a> 
<a name="940" href="#940">940</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalExactNumLiteral(Tree node) {
<a name="941" href="#941">941</a>         assertEquals(0, node.getChildCount());
<a name="942" href="#942">942</a>     }
<a name="943" href="#943">943</a> 
<a name="944" href="#944">944</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalLessOrEqual(Tree node) {
<a name="945" href="#945">945</a>         assertEquals(2, node.getChildCount());
<a name="946" href="#946">946</a>     }
<a name="947" href="#947">947</a> 
<a name="948" href="#948">948</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalNot(Tree node) {
<a name="949" href="#949">949</a>         assertEquals(1, node.getChildCount());
<a name="950" href="#950">950</a>     }
<a name="951" href="#951">951</a> 
<a name="952" href="#952">952</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalId(Tree node) {
<a name="953" href="#953">953</a>         assertEquals(0, node.getChildCount());
<a name="954" href="#954">954</a>     }
<a name="955" href="#955">955</a> 
<a name="956" href="#956">956</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalAnd(Tree node) {
<a name="957" href="#957">957</a>         assertEquals(2, node.getChildCount());
<a name="958" href="#958">958</a>     }
<a name="959" href="#959">959</a> 
<a name="960" href="#960">960</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> evalIn(Tree node) {
<a name="961" href="#961">961</a>     }
<a name="962" href="#962">962</a> 
<a name="963" href="#963">963</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalNotEquals(Tree node) {
<a name="964" href="#964">964</a>         assertEquals(2, node.getChildCount());
<a name="965" href="#965">965</a>     }
<a name="966" href="#966">966</a> 
<a name="967" href="#967">967</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalScore(Tree node) {
<a name="968" href="#968">968</a>         assertEquals(0, node.getChildCount());
<a name="969" href="#969">969</a>     }
<a name="970" href="#970">970</a> 
<a name="971" href="#971">971</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalInTree(Tree node) {
<a name="972" href="#972">972</a>         assertEquals(1, node.getChildCount());
<a name="973" href="#973">973</a>     }
<a name="974" href="#974">974</a> 
<a name="975" href="#975">975</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalOr(Tree node) {
<a name="976" href="#976">976</a>         assertEquals(2, node.getChildCount());
<a name="977" href="#977">977</a>     }
<a name="978" href="#978">978</a> 
<a name="979" href="#979">979</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalGreaterThan(Tree node) {
<a name="980" href="#980">980</a>         assertEquals(2, node.getChildCount());
<a name="981" href="#981">981</a>     }
<a name="982" href="#982">982</a> 
<a name="983" href="#983">983</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> evalTimeLiteral(Tree node) {
<a name="984" href="#984">984</a>         assertEquals(0, node.getChildCount());
<a name="985" href="#985">985</a>     }
<a name="986" href="#986">986</a> 
<a name="987" href="#987">987</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

