<!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>ProcessQueryTest 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.assertTrue;
<a name="24" href="#24">24</a>  
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.GregorianCalendar;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.Map.Entry;
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.antlr.runtime.tree.Tree;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.inmemory.TypeManagerImpl;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.server.support.query.CalendarHelper;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.server.support.query.CmisQlStrictLexer;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.server.support.query.QueryObject;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.server.support.query.TextSearchLexer;
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.logging.Log;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.logging.LogFactory;
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.junit.Before;
<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
<a name="42" href="#42">42</a>  
<a name="43" href="#43">43</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/chemistry/opencmis/inmemory/query/ProcessQueryTest.html">ProcessQueryTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/chemistry/opencmis/inmemory/query/AbstractQueryTest.html">AbstractQueryTest</a> {
<a name="44" href="#44">44</a>  
<a name="45" href="#45">45</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Log LOG = LogFactory.getLog(ProcessQueryTest.<strong class="jxr_keyword">class</strong>);
<a name="46" href="#46">46</a>  
<a name="47" href="#47">47</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/inmemory/query/ProcessQueryTest.html">TestQueryProcessor</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/chemistry/opencmis/inmemory/query/AbstractQueryConditionProcessor.html">AbstractQueryConditionProcessor</a> {
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_START = <span class="jxr_string">"onStartWasCalled"</span>;
<a name="50" href="#50">50</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_STOP = <span class="jxr_string">"onStopWasCalled"</span>;
<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> String ON_EQUALS = <span class="jxr_string">"onEqualsWasCalled"</span>;
<a name="52" href="#52">52</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_NOT_EQUALS = <span class="jxr_string">"onNotEqualsWasCalled"</span>;
<a name="53" href="#53">53</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_GREATER_THAN = <span class="jxr_string">"onGreaterThanWasCalled"</span>;
<a name="54" href="#54">54</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_GREATER_OR_EQUALS =<span class="jxr_string">"onGreaterOrEqualsWasCalled"</span>;
<a name="55" href="#55">55</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_LESS_THAN = <span class="jxr_string">"onLessThanWasCalled"</span>;
<a name="56" href="#56">56</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_LESS_OR_EQUALS = <span class="jxr_string">"onLessOrEqualsWasCalled"</span>;
<a name="57" href="#57">57</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_NOT = <span class="jxr_string">"onNotWasCalled"</span>;
<a name="58" href="#58">58</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_AND = <span class="jxr_string">"onAndWasCalled"</span>;
<a name="59" href="#59">59</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_OR = <span class="jxr_string">"onOrWasCalled"</span>;
<a name="60" href="#60">60</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_IN = <span class="jxr_string">"onInWasCalled"</span>;
<a name="61" href="#61">61</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_NOT_IN = <span class="jxr_string">"onNotInWasCalled"</span>;
<a name="62" href="#62">62</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_IN_ANY = <span class="jxr_string">"onInAnyWasCalled"</span>;
<a name="63" href="#63">63</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_NOT_IN_ANY =<span class="jxr_string">"onNotInAnyWasCalled"</span>;
<a name="64" href="#64">64</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_EQ_ANY = <span class="jxr_string">"onEqAnyWasCalled"</span>;
<a name="65" href="#65">65</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_IS_NULL = <span class="jxr_string">"onIsNullWasCalled"</span>;
<a name="66" href="#66">66</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_IS_NOT_NULL =<span class="jxr_string">"onIsNotNullWasCalled"</span>;
<a name="67" href="#67">67</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_IS_LIKE = <span class="jxr_string">"onIsLikeWasCalled"</span>;
<a name="68" href="#68">68</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_IS_NOT_LIKE = <span class="jxr_string">"onIsNotLikeWasCalled"</span>;
<a name="69" href="#69">69</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_CONTAINS  = <span class="jxr_string">"onContainsWasCalled"</span>;
<a name="70" href="#70">70</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_IN_FOLDER  = <span class="jxr_string">"onInFolderWasCalled"</span>;
<a name="71" href="#71">71</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_IN_TREE  = <span class="jxr_string">"onInTreeWasCalled"</span>;
<a name="72" href="#72">72</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_SCORE = <span class="jxr_string">"onScoreWasCalled"</span>;
<a name="73" href="#73">73</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_TEXT_AND = <span class="jxr_string">"onTextAndWasCalled"</span>;
<a name="74" href="#74">74</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_TEXT_OR = <span class="jxr_string">"onTextOrWasCalled"</span>;
<a name="75" href="#75">75</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_TEXT_MINUS = <span class="jxr_string">"onTextMinusWasCalled"</span>;
<a name="76" href="#76">76</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_TEXT_PHRASE = <span class="jxr_string">"onTextPhraseWasCalled"</span>;
<a name="77" href="#77">77</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ON_TEXT_WORD = <span class="jxr_string">"onTextWordWasCalled"</span>;
<a name="78" href="#78">78</a>  
<a name="79" href="#79">79</a>  
<a name="80" href="#80">80</a>          <strong class="jxr_keyword">final</strong> Map&lt;String, Integer&gt; rulesTrackerMap =
<a name="81" href="#81">81</a>              <strong class="jxr_keyword">new</strong> HashMap&lt;String, Integer&gt;() {
<a name="82" href="#82">82</a>                  <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L;
<a name="83" href="#83">83</a>              {
<a name="84" href="#84">84</a>                  put(ON_START, 0);
<a name="85" href="#85">85</a>                  put(ON_STOP, 0);
<a name="86" href="#86">86</a>                  put(ON_EQUALS, 0);
<a name="87" href="#87">87</a>                  put(ON_NOT_EQUALS, 0);
<a name="88" href="#88">88</a>                  put(ON_GREATER_THAN, 0);
<a name="89" href="#89">89</a>                  put(ON_GREATER_OR_EQUALS, 0);
<a name="90" href="#90">90</a>                  put(ON_LESS_THAN, 0);
<a name="91" href="#91">91</a>                  put(ON_LESS_OR_EQUALS, 0);
<a name="92" href="#92">92</a>                  put(ON_NOT, 0);
<a name="93" href="#93">93</a>                  put(ON_AND, 0);
<a name="94" href="#94">94</a>                  put(ON_OR, 0);
<a name="95" href="#95">95</a>                  put(ON_IN, 0);
<a name="96" href="#96">96</a>                  put(ON_NOT_IN, 0);
<a name="97" href="#97">97</a>                  put(ON_IN_ANY, 0);
<a name="98" href="#98">98</a>                  put(ON_NOT_IN_ANY, 0);
<a name="99" href="#99">99</a>                  put(ON_EQ_ANY, 0);
<a name="100" href="#100">100</a>                 put(ON_IS_NULL, 0);
<a name="101" href="#101">101</a>                 put(ON_IS_NOT_NULL, 0);
<a name="102" href="#102">102</a>                 put(ON_IS_LIKE, 0);
<a name="103" href="#103">103</a>                 put(ON_IS_NOT_LIKE, 0);
<a name="104" href="#104">104</a>                 put(ON_CONTAINS, 0);
<a name="105" href="#105">105</a>                 put(ON_IN_FOLDER, 0);
<a name="106" href="#106">106</a>                 put(ON_IN_TREE, 0);
<a name="107" href="#107">107</a>                 put(ON_SCORE, 0);
<a name="108" href="#108">108</a>                 put(ON_TEXT_AND, 0);
<a name="109" href="#109">109</a>                 put(ON_TEXT_OR, 0);
<a name="110" href="#110">110</a>                 put(ON_TEXT_MINUS, 0);
<a name="111" href="#111">111</a>                 put(ON_TEXT_PHRASE, 0);
<a name="112" href="#112">112</a>                 put(ON_TEXT_WORD, 0);
<a name="113" href="#113">113</a>            }};
<a name="114" href="#114">114</a> 
<a name="115" href="#115">115</a>            <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> counter;
<a name="116" href="#116">116</a> 
<a name="117" href="#117">117</a>        <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/chemistry/opencmis/inmemory/query/ProcessQueryTest.html">TestQueryProcessor</a>() {
<a name="118" href="#118">118</a>            counter = 1;
<a name="119" href="#119">119</a>        }
<a name="120" href="#120">120</a> 
<a name="121" href="#121">121</a>        @Override
<a name="122" href="#122">122</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onStartProcessing(Tree node) {
<a name="123" href="#123">123</a>             LOG.debug(<span class="jxr_string">"TestQueryProcessor:onStartProcessing()"</span>);
<a name="124" href="#124">124</a>             rulesTrackerMap.put(ON_START, counter++);
<a name="125" href="#125">125</a>             assertEquals(CmisQlStrictLexer.WHERE, node.getParent().getType());
<a name="126" href="#126">126</a>        }
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a>        @Override
<a name="129" href="#129">129</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onStopProcessing() {
<a name="130" href="#130">130</a>            LOG.debug(<span class="jxr_string">"TestQueryProcessor:onStopProcessing()"</span>);
<a name="131" href="#131">131</a>            rulesTrackerMap.put(ON_STOP, counter++);
<a name="132" href="#132">132</a>        }
<a name="133" href="#133">133</a> 
<a name="134" href="#134">134</a> 
<a name="135" href="#135">135</a>        @Override
<a name="136" href="#136">136</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onEquals(Tree eqNode, Tree leftNode, Tree rightNode) {
<a name="137" href="#137">137</a>            rulesTrackerMap.put(ON_EQUALS, counter++);
<a name="138" href="#138">138</a>            assertEquals(CmisQlStrictLexer.EQ, eqNode.getType());
<a name="139" href="#139">139</a>            assertTrue(CmisQlStrictLexer.COL==leftNode.getType() || CmisQlStrictLexer.SCORE==leftNode.getType());
<a name="140" href="#140">140</a>            assertTrue(isLiteral(rightNode));
<a name="141" href="#141">141</a>        }
<a name="142" href="#142">142</a> 
<a name="143" href="#143">143</a>        @Override
<a name="144" href="#144">144</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onNotEquals(Tree neNode, Tree leftNode, Tree rightNode) {
<a name="145" href="#145">145</a>            rulesTrackerMap.put(ON_NOT_EQUALS, counter++);
<a name="146" href="#146">146</a>            assertEquals(CmisQlStrictLexer.NEQ, neNode.getType());
<a name="147" href="#147">147</a>            assertEquals(CmisQlStrictLexer.COL, leftNode.getType());
<a name="148" href="#148">148</a>            assertTrue(isLiteral(rightNode));
<a name="149" href="#149">149</a>            Object value=onLiteral(rightNode, Integer.<strong class="jxr_keyword">class</strong>);
<a name="150" href="#150">150</a>            assertEquals(100, value);
<a name="151" href="#151">151</a>        }
<a name="152" href="#152">152</a> 
<a name="153" href="#153">153</a>        @Override
<a name="154" href="#154">154</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onLessOrEquals(Tree leqNode, Tree leftNode, Tree rightNode) {
<a name="155" href="#155">155</a>            rulesTrackerMap.put(ON_LESS_OR_EQUALS, counter++);
<a name="156" href="#156">156</a>            assertEquals(CmisQlStrictLexer.LTEQ, leqNode.getType());
<a name="157" href="#157">157</a>            assertEquals(CmisQlStrictLexer.COL, leftNode.getType());
<a name="158" href="#158">158</a>            assertTrue(isLiteral(rightNode));
<a name="159" href="#159">159</a>            Object value=onLiteral(rightNode, Integer.<strong class="jxr_keyword">class</strong>);
<a name="160" href="#160">160</a>            assertEquals(100, value);
<a name="161" href="#161">161</a>        }
<a name="162" href="#162">162</a> 
<a name="163" href="#163">163</a>        @Override
<a name="164" href="#164">164</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onLessThan(Tree ltNode, Tree leftNode, Tree rightNode) {
<a name="165" href="#165">165</a>            rulesTrackerMap.put(ON_LESS_THAN, counter++);
<a name="166" href="#166">166</a>            assertEquals(CmisQlStrictLexer.LT, ltNode.getType());
<a name="167" href="#167">167</a>            assertEquals(CmisQlStrictLexer.COL, leftNode.getType());
<a name="168" href="#168">168</a>            assertTrue(isLiteral(rightNode));
<a name="169" href="#169">169</a>            Object value=onLiteral(rightNode, Integer.<strong class="jxr_keyword">class</strong>);
<a name="170" href="#170">170</a>            assertEquals(100, value);
<a name="171" href="#171">171</a>        }
<a name="172" href="#172">172</a> 
<a name="173" href="#173">173</a>        @Override
<a name="174" href="#174">174</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onGreaterOrEquals(Tree geNode, Tree leftNode, Tree rightNode) {
<a name="175" href="#175">175</a>            rulesTrackerMap.put(ON_GREATER_OR_EQUALS, counter++);
<a name="176" href="#176">176</a>            assertEquals(CmisQlStrictLexer.GTEQ, geNode.getType());
<a name="177" href="#177">177</a>            assertEquals(CmisQlStrictLexer.COL, leftNode.getType());
<a name="178" href="#178">178</a>            assertTrue(isLiteral(rightNode));
<a name="179" href="#179">179</a>            Object value=onLiteral(rightNode, Integer.<strong class="jxr_keyword">class</strong>);
<a name="180" href="#180">180</a>            assertEquals(100, value);
<a name="181" href="#181">181</a>        }
<a name="182" href="#182">182</a> 
<a name="183" href="#183">183</a>        @Override
<a name="184" href="#184">184</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onGreaterThan(Tree gtNode, Tree leftNode, Tree rightNode) {
<a name="185" href="#185">185</a>            rulesTrackerMap.put(ON_GREATER_THAN, counter++);
<a name="186" href="#186">186</a>            assertEquals(CmisQlStrictLexer.GT, gtNode.getType());
<a name="187" href="#187">187</a>            assertEquals(CmisQlStrictLexer.COL, leftNode.getType());
<a name="188" href="#188">188</a>            assertTrue(isLiteral(rightNode));
<a name="189" href="#189">189</a>            Object value=onLiteral(rightNode, Integer.<strong class="jxr_keyword">class</strong>);
<a name="190" href="#190">190</a>            assertEquals(100, value);
<a name="191" href="#191">191</a>        }
<a name="192" href="#192">192</a> 
<a name="193" href="#193">193</a>        @Override
<a name="194" href="#194">194</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onNot(Tree opNode, Tree leftNode) {
<a name="195" href="#195">195</a>            rulesTrackerMap.put(ON_NOT, counter++);
<a name="196" href="#196">196</a>            assertEquals(CmisQlStrictLexer.NOT, opNode.getType());
<a name="197" href="#197">197</a>        }
<a name="198" href="#198">198</a> 
<a name="199" href="#199">199</a>        @Override
<a name="200" href="#200">200</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onAnd(Tree opNode, Tree leftNode, Tree rightNode) {
<a name="201" href="#201">201</a>            assertEquals(CmisQlStrictLexer.AND, opNode.getType());
<a name="202" href="#202">202</a>            rulesTrackerMap.put(ON_AND, counter++);
<a name="203" href="#203">203</a>        }
<a name="204" href="#204">204</a> 
<a name="205" href="#205">205</a>        @Override
<a name="206" href="#206">206</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onOr(Tree opNode, Tree leftNode, Tree rightNode) {
<a name="207" href="#207">207</a>            assertEquals(CmisQlStrictLexer.OR, opNode.getType());
<a name="208" href="#208">208</a>            rulesTrackerMap.put(ON_OR, counter++);
<a name="209" href="#209">209</a>        }
<a name="210" href="#210">210</a> 
<a name="211" href="#211">211</a>        @Override
<a name="212" href="#212">212</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onIn(Tree opNode, Tree colNode, Tree listNode) {
<a name="213" href="#213">213</a>            assertEquals(CmisQlStrictLexer.IN, opNode.getType());
<a name="214" href="#214">214</a>            assertEquals(CmisQlStrictLexer.COL, colNode.getType());
<a name="215" href="#215">215</a>            assertEquals(CmisQlStrictLexer.IN_LIST, listNode.getType());
<a name="216" href="#216">216</a>            Object value=onLiteral(listNode.getChild(0), String.<strong class="jxr_keyword">class</strong>);
<a name="217" href="#217">217</a>            assertEquals(<span class="jxr_string">"'Joe'"</span>, value);
<a name="218" href="#218">218</a>            value=onLiteral(listNode.getChild(1), String.<strong class="jxr_keyword">class</strong>);
<a name="219" href="#219">219</a>            assertEquals(<span class="jxr_string">"'Jim'"</span>, value);
<a name="220" href="#220">220</a>            rulesTrackerMap.put(ON_IN, counter++);
<a name="221" href="#221">221</a>        }
<a name="222" href="#222">222</a> 
<a name="223" href="#223">223</a>        @Override
<a name="224" href="#224">224</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onNotIn(Tree node, Tree colNode, Tree listNode) {
<a name="225" href="#225">225</a>            assertEquals(CmisQlStrictLexer.NOT_IN, node.getType());
<a name="226" href="#226">226</a>            assertEquals(CmisQlStrictLexer.COL, colNode.getType());
<a name="227" href="#227">227</a>            assertEquals(CmisQlStrictLexer.IN_LIST, listNode.getType());
<a name="228" href="#228">228</a>            Object value=onLiteral(listNode.getChild(0), String.<strong class="jxr_keyword">class</strong>);
<a name="229" href="#229">229</a>            assertEquals(<span class="jxr_string">"'Joe'"</span>, value);
<a name="230" href="#230">230</a>            value=onLiteral(listNode.getChild(1), String.<strong class="jxr_keyword">class</strong>);
<a name="231" href="#231">231</a>            assertEquals(<span class="jxr_string">"'Jim'"</span>, value);
<a name="232" href="#232">232</a>            rulesTrackerMap.put(ON_NOT_IN, counter++);
<a name="233" href="#233">233</a>        }
<a name="234" href="#234">234</a> 
<a name="235" href="#235">235</a>        @Override
<a name="236" href="#236">236</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onEqAny(Tree node, Tree literalNode, Tree colNode) {
<a name="237" href="#237">237</a>            assertEquals(CmisQlStrictLexer.EQ_ANY, node.getType());
<a name="238" href="#238">238</a>            assertEquals(CmisQlStrictLexer.COL, colNode.getType());
<a name="239" href="#239">239</a>            assertTrue(isLiteral(literalNode));
<a name="240" href="#240">240</a>            Object value=onLiteral(literalNode, String.<strong class="jxr_keyword">class</strong>);
<a name="241" href="#241">241</a>            assertEquals(<span class="jxr_string">"'Joe'"</span>, value);
<a name="242" href="#242">242</a>            rulesTrackerMap.put(ON_EQ_ANY, counter++);
<a name="243" href="#243">243</a>        }
<a name="244" href="#244">244</a> 
<a name="245" href="#245">245</a>        @Override
<a name="246" href="#246">246</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onInAny(Tree node, Tree colNode, Tree listNode) {
<a name="247" href="#247">247</a>            assertEquals(CmisQlStrictLexer.IN_ANY, node.getType());
<a name="248" href="#248">248</a>            assertEquals(CmisQlStrictLexer.COL, colNode.getType());
<a name="249" href="#249">249</a>            assertEquals(CmisQlStrictLexer.IN_LIST, listNode.getType());
<a name="250" href="#250">250</a>            Object value=onLiteral(listNode.getChild(0), String.<strong class="jxr_keyword">class</strong>);
<a name="251" href="#251">251</a>            assertEquals(<span class="jxr_string">"'Joe'"</span>, value);
<a name="252" href="#252">252</a>            value=onLiteral(listNode.getChild(1), String.<strong class="jxr_keyword">class</strong>);
<a name="253" href="#253">253</a>            assertEquals(<span class="jxr_string">"'Jim'"</span>, value);
<a name="254" href="#254">254</a>            rulesTrackerMap.put(ON_IN_ANY, counter++);
<a name="255" href="#255">255</a>        }
<a name="256" href="#256">256</a> 
<a name="257" href="#257">257</a>        @Override
<a name="258" href="#258">258</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onNotInAny(Tree node, Tree colNode, Tree listNode) {
<a name="259" href="#259">259</a>            assertEquals(CmisQlStrictLexer.NOT_IN_ANY, node.getType());
<a name="260" href="#260">260</a>            assertEquals(CmisQlStrictLexer.COL, colNode.getType());
<a name="261" href="#261">261</a>            assertEquals(CmisQlStrictLexer.IN_LIST, listNode.getType());
<a name="262" href="#262">262</a>            Object value=onLiteral(listNode.getChild(0), String.<strong class="jxr_keyword">class</strong>);
<a name="263" href="#263">263</a>            assertEquals(<span class="jxr_string">"'Joe'"</span>, value);
<a name="264" href="#264">264</a>            value=onLiteral(listNode.getChild(1), String.<strong class="jxr_keyword">class</strong>);
<a name="265" href="#265">265</a>            assertEquals(<span class="jxr_string">"'Jim'"</span>, value);
<a name="266" href="#266">266</a>            rulesTrackerMap.put(ON_NOT_IN_ANY, counter++);
<a name="267" href="#267">267</a>        }
<a name="268" href="#268">268</a> 
<a name="269" href="#269">269</a>        @Override
<a name="270" href="#270">270</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onIsNull(Tree nullNode, Tree colNode) {
<a name="271" href="#271">271</a>            assertEquals(CmisQlStrictLexer.COL, colNode.getType());
<a name="272" href="#272">272</a>            assertEquals(CmisQlStrictLexer.IS_NULL, nullNode.getType());
<a name="273" href="#273">273</a>            rulesTrackerMap.put(ON_IS_NULL, counter++);
<a name="274" href="#274">274</a>        }
<a name="275" href="#275">275</a> 
<a name="276" href="#276">276</a>        @Override
<a name="277" href="#277">277</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onIsNotNull(Tree notNullNode, Tree colNode) {
<a name="278" href="#278">278</a>            assertEquals(CmisQlStrictLexer.COL, colNode.getType());
<a name="279" href="#279">279</a>            assertEquals(CmisQlStrictLexer.IS_NOT_NULL, notNullNode.getType());
<a name="280" href="#280">280</a>            rulesTrackerMap.put(ON_IS_NOT_NULL, counter++);
<a name="281" href="#281">281</a>        }
<a name="282" href="#282">282</a> 
<a name="283" href="#283">283</a>        @Override
<a name="284" href="#284">284</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onIsLike(Tree node, Tree colNode, Tree stringNode) {
<a name="285" href="#285">285</a>            assertEquals(CmisQlStrictLexer.LIKE, node.getType());
<a name="286" href="#286">286</a>            assertEquals(CmisQlStrictLexer.COL, colNode.getType());
<a name="287" href="#287">287</a>            assertEquals(CmisQlStrictLexer.STRING_LIT, stringNode.getType());
<a name="288" href="#288">288</a>            Object value=onLiteral(stringNode, String.<strong class="jxr_keyword">class</strong>);
<a name="289" href="#289">289</a>            assertEquals(<span class="jxr_string">"'Harry%'"</span>, value);
<a name="290" href="#290">290</a>            rulesTrackerMap.put(ON_IS_LIKE, counter++);
<a name="291" href="#291">291</a>        }
<a name="292" href="#292">292</a> 
<a name="293" href="#293">293</a>        @Override
<a name="294" href="#294">294</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onIsNotLike(Tree node, Tree colNode, Tree stringNode) {
<a name="295" href="#295">295</a>            assertEquals(CmisQlStrictLexer.NOT_LIKE, node.getType());
<a name="296" href="#296">296</a>            assertEquals(CmisQlStrictLexer.COL, colNode.getType());
<a name="297" href="#297">297</a>            assertEquals(CmisQlStrictLexer.STRING_LIT, stringNode.getType());
<a name="298" href="#298">298</a>            Object value=onLiteral(stringNode, String.<strong class="jxr_keyword">class</strong>);
<a name="299" href="#299">299</a>            assertEquals(<span class="jxr_string">"'Harry%'"</span>, value);
<a name="300" href="#300">300</a>            rulesTrackerMap.put(ON_IS_NOT_LIKE, counter++);
<a name="301" href="#301">301</a>        }
<a name="302" href="#302">302</a> 
<a name="303" href="#303">303</a>        @Override
<a name="304" href="#304">304</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onContains(Tree node, Tree typeNode, Tree searchExprNode) {
<a name="305" href="#305">305</a>            assertEquals(CmisQlStrictLexer.CONTAINS, node.getType());
<a name="306" href="#306">306</a>            assertTrue( <strong class="jxr_keyword">null</strong> != searchExprNode);
<a name="307" href="#307">307</a>            rulesTrackerMap.put(ON_CONTAINS, counter++);
<a name="308" href="#308">308</a>            <strong class="jxr_keyword">super</strong>.onContains(node, typeNode, searchExprNode);
<a name="309" href="#309">309</a>        }
<a name="310" href="#310">310</a> 
<a name="311" href="#311">311</a>        @Override
<a name="312" href="#312">312</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onInFolder(Tree node, Tree colNode, Tree paramNode) {
<a name="313" href="#313">313</a>            assertEquals(CmisQlStrictLexer.IN_FOLDER, node.getType());
<a name="314" href="#314">314</a>            assertTrue(colNode==<strong class="jxr_keyword">null</strong> || CmisQlStrictLexer.STRING_LIT == paramNode.getType());
<a name="315" href="#315">315</a>            assertEquals(CmisQlStrictLexer.STRING_LIT, paramNode.getType());
<a name="316" href="#316">316</a>            rulesTrackerMap.put(ON_IN_FOLDER, counter++);
<a name="317" href="#317">317</a>        }
<a name="318" href="#318">318</a> 
<a name="319" href="#319">319</a>        @Override
<a name="320" href="#320">320</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onInTree(Tree node, Tree colNode, Tree paramNode) {
<a name="321" href="#321">321</a>            assertEquals(CmisQlStrictLexer.IN_TREE, node.getType());
<a name="322" href="#322">322</a>            assertTrue(colNode==<strong class="jxr_keyword">null</strong> || CmisQlStrictLexer.STRING_LIT == paramNode.getType());
<a name="323" href="#323">323</a>            assertEquals(CmisQlStrictLexer.STRING_LIT, paramNode.getType());
<a name="324" href="#324">324</a>            rulesTrackerMap.put(ON_IN_TREE, counter++);
<a name="325" href="#325">325</a>        }
<a name="326" href="#326">326</a> 
<a name="327" href="#327">327</a>        @Override
<a name="328" href="#328">328</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onScore(Tree node) {
<a name="329" href="#329">329</a>            assertEquals(CmisQlStrictLexer.SCORE, node.getType());
<a name="330" href="#330">330</a>            rulesTrackerMap.put(ON_SCORE, counter++);
<a name="331" href="#331">331</a>        }
<a name="332" href="#332">332</a> 
<a name="333" href="#333">333</a>        @Override
<a name="334" href="#334">334</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onTextAnd(Tree node, List&lt;Tree&gt; conjunctionNodes) {
<a name="335" href="#335">335</a>            assertEquals(TextSearchLexer.TEXT_AND, node.getType());
<a name="336" href="#336">336</a>            assertTrue(conjunctionNodes.size() &gt;= 2);
<a name="337" href="#337">337</a>            rulesTrackerMap.put(ON_TEXT_AND, counter++);
<a name="338" href="#338">338</a>        }
<a name="339" href="#339">339</a> 
<a name="340" href="#340">340</a>        @Override
<a name="341" href="#341">341</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onTextOr(Tree node, List&lt;Tree&gt; termNodes) {
<a name="342" href="#342">342</a>            assertEquals(TextSearchLexer.TEXT_OR, node.getType());
<a name="343" href="#343">343</a>            assertTrue(termNodes.size() &gt;= 2);
<a name="344" href="#344">344</a>            rulesTrackerMap.put(ON_TEXT_OR, counter++);
<a name="345" href="#345">345</a>        }
<a name="346" href="#346">346</a> 
<a name="347" href="#347">347</a>        @Override
<a name="348" href="#348">348</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onTextMinus(Tree node, Tree notNode) {
<a name="349" href="#349">349</a>            assertEquals(TextSearchLexer.TEXT_MINUS, node.getType());
<a name="350" href="#350">350</a>            assertTrue(notNode.getType() == TextSearchLexer.TEXT_SEARCH_PHRASE_STRING_LIT ||
<a name="351" href="#351">351</a>                    notNode.getType() == TextSearchLexer.TEXT_SEARCH_WORD_LIT);
<a name="352" href="#352">352</a>            rulesTrackerMap.put(ON_TEXT_MINUS, counter++);
<a name="353" href="#353">353</a>        }
<a name="354" href="#354">354</a> 
<a name="355" href="#355">355</a>        @Override
<a name="356" href="#356">356</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onTextWord(String word) {
<a name="357" href="#357">357</a>            assertTrue(word != <strong class="jxr_keyword">null</strong> &amp;&amp; word.length() &gt; 0);
<a name="358" href="#358">358</a>            rulesTrackerMap.put(ON_TEXT_WORD, counter++);
<a name="359" href="#359">359</a>        }
<a name="360" href="#360">360</a> 
<a name="361" href="#361">361</a>        @Override
<a name="362" href="#362">362</a>        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onTextPhrase(String phrase) {
<a name="363" href="#363">363</a>            assertTrue(phrase != <strong class="jxr_keyword">null</strong> &amp;&amp; phrase.length() &gt; 0);
<a name="364" href="#364">364</a>            rulesTrackerMap.put(ON_TEXT_PHRASE, counter++);
<a name="365" href="#365">365</a>        }
<a name="366" href="#366">366</a> 
<a name="367" href="#367">367</a> 
<a name="368" href="#368">368</a>        <em class="jxr_comment">// private helper functions:</em>
<a name="369" href="#369">369</a> 
<a name="370" href="#370">370</a>        <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isLiteral(Tree node) {
<a name="371" href="#371">371</a>            <strong class="jxr_keyword">int</strong> type = node.getType();
<a name="372" href="#372">372</a>            <strong class="jxr_keyword">return</strong> type==CmisQlStrictLexer.BOOL_LIT || type==CmisQlStrictLexer.NUM_LIT ||
<a name="373" href="#373">373</a>            type==CmisQlStrictLexer.STRING_LIT || type==CmisQlStrictLexer.TIME_LIT;
<a name="374" href="#374">374</a>        }
<a name="375" href="#375">375</a> 
<a name="376" href="#376">376</a>        <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Object onLiteral(Tree node, Class&lt;?&gt; clazz) {
<a name="377" href="#377">377</a>            <strong class="jxr_keyword">int</strong> type = node.getType();
<a name="378" href="#378">378</a>            <strong class="jxr_keyword">switch</strong> (type) {
<a name="379" href="#379">379</a>            <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.BOOL_LIT:
<a name="380" href="#380">380</a>                <strong class="jxr_keyword">return</strong> clazz==Boolean.<strong class="jxr_keyword">class</strong> ? Boolean.parseBoolean(node.getText()) : <strong class="jxr_keyword">null</strong>;
<a name="381" href="#381">381</a>            <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.NUM_LIT:
<a name="382" href="#382">382</a>                <strong class="jxr_keyword">if</strong> (clazz == Integer.<strong class="jxr_keyword">class</strong>) {
<a name="383" href="#383">383</a>                 <strong class="jxr_keyword">return</strong> Integer.parseInt(node.getText());
<a name="384" href="#384">384</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (clazz == Long.<strong class="jxr_keyword">class</strong>) {
<a name="385" href="#385">385</a>                 <strong class="jxr_keyword">return</strong> Long.parseLong(node.getText());
<a name="386" href="#386">386</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (clazz == Short.<strong class="jxr_keyword">class</strong>) {
<a name="387" href="#387">387</a>                 <strong class="jxr_keyword">return</strong> Short.parseShort(node.getText());
<a name="388" href="#388">388</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (clazz == Double.<strong class="jxr_keyword">class</strong>) {
<a name="389" href="#389">389</a>                 <strong class="jxr_keyword">return</strong> Double.parseDouble(node.getText());
<a name="390" href="#390">390</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (clazz == Float.<strong class="jxr_keyword">class</strong>) {
<a name="391" href="#391">391</a>                 <strong class="jxr_keyword">return</strong> Float.parseFloat(node.getText());
<a name="392" href="#392">392</a>             } <strong class="jxr_keyword">else</strong> {
<a name="393" href="#393">393</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="394" href="#394">394</a>             }
<a name="395" href="#395">395</a>            <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.STRING_LIT:
<a name="396" href="#396">396</a>                <strong class="jxr_keyword">return</strong> clazz==String.<strong class="jxr_keyword">class</strong> ? node.getText() : <strong class="jxr_keyword">null</strong>;
<a name="397" href="#397">397</a>            <strong class="jxr_keyword">case</strong> CmisQlStrictLexer.TIME_LIT:
<a name="398" href="#398">398</a>                <strong class="jxr_keyword">return</strong> clazz==GregorianCalendar.<strong class="jxr_keyword">class</strong> ?  CalendarHelper.fromString(node.getText()) : <strong class="jxr_keyword">null</strong>;
<a name="399" href="#399">399</a>            <strong class="jxr_keyword">default</strong>:
<a name="400" href="#400">400</a>                LOG.error(<span class="jxr_string">"Unknown literal. "</span> + node);
<a name="401" href="#401">401</a>                <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="402" href="#402">402</a>            }
<a name="403" href="#403">403</a>        }
<a name="404" href="#404">404</a> 
<a name="405" href="#405">405</a>     }
<a name="406" href="#406">406</a> 
<a name="407" href="#407">407</a>     <strong class="jxr_keyword">private</strong> TypeManagerImpl tm;
<a name="408" href="#408">408</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/chemistry/opencmis/inmemory/query/ProcessQueryTest.html">TestQueryProcessor</a> queryProcessor;
<a name="409" href="#409">409</a> 
<a name="410" href="#410">410</a>     @Before
<a name="411" href="#411">411</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() {
<a name="412" href="#412">412</a>         tm = <strong class="jxr_keyword">new</strong> TypeManagerImpl();
<a name="413" href="#413">413</a>         tm.initTypeSystem(<strong class="jxr_keyword">null</strong>); <em class="jxr_comment">// create CMIS default types</em>
<a name="414" href="#414">414</a> 
<a name="415" href="#415">415</a>         <em class="jxr_comment">// create some types for testing</em>
<a name="416" href="#416">416</a>         List&lt;TypeDefinition&gt; typeDefs = <strong class="jxr_keyword">super</strong>.createTypes();
<a name="417" href="#417">417</a>         <strong class="jxr_keyword">for</strong> (TypeDefinition typeDef : typeDefs) {
<a name="418" href="#418">418</a>             tm.addTypeDefinition(typeDef);
<a name="419" href="#419">419</a>         }
<a name="420" href="#420">420</a> 
<a name="421" href="#421">421</a>         <em class="jxr_comment">// initialize query object with type manager</em>
<a name="422" href="#422">422</a>         queryProcessor = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/inmemory/query/ProcessQueryTest.html">TestQueryProcessor</a>();
<a name="423" href="#423">423</a>         QueryObject qo = <strong class="jxr_keyword">new</strong> QueryObject(tm);
<a name="424" href="#424">424</a>         <strong class="jxr_keyword">super</strong>.setUp(qo, queryProcessor);
<a name="425" href="#425">425</a>     }
<a name="426" href="#426">426</a> 
<a name="427" href="#427">427</a>     @Test
<a name="428" href="#428">428</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testStartStopProcessing() {
<a name="429" href="#429">429</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE ISBN = 100"</span>;
<a name="430" href="#430">430</a>         traverseStatementAndCatchExc(statement); <em class="jxr_comment">// calls query processor</em>
<a name="431" href="#431">431</a>         assertTrue(queryProcessor.rulesTrackerMap.get(TestQueryProcessor.ON_START) &gt; 0);
<a name="432" href="#432">432</a>         assertTrue(queryProcessor.rulesTrackerMap.get(TestQueryProcessor.ON_STOP) &gt; 0);
<a name="433" href="#433">433</a>     }
<a name="434" href="#434">434</a> 
<a name="435" href="#435">435</a>     @Test
<a name="436" href="#436">436</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEq() {
<a name="437" href="#437">437</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE ISBN = 100"</span>;
<a name="438" href="#438">438</a>         testStatement(statement, TestQueryProcessor.ON_EQUALS);
<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> testNeq() {
<a name="443" href="#443">443</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE ISBN &lt;&gt; 100"</span>;
<a name="444" href="#444">444</a>         testStatement(statement, TestQueryProcessor.ON_NOT_EQUALS);
<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> testLt() {
<a name="449" href="#449">449</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE ISBN &lt; 100"</span>;
<a name="450" href="#450">450</a>         testStatement(statement, TestQueryProcessor.ON_LESS_THAN);
<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> testLteq() {
<a name="455" href="#455">455</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE ISBN &lt;= 100"</span>;
<a name="456" href="#456">456</a>         testStatement(statement, TestQueryProcessor.ON_LESS_OR_EQUALS);
<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> testGt() {
<a name="461" href="#461">461</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE ISBN &gt; 100"</span>;
<a name="462" href="#462">462</a>         testStatement(statement, TestQueryProcessor.ON_GREATER_THAN);
<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> testGteq() {
<a name="467" href="#467">467</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE ISBN &gt;= 100"</span>;
<a name="468" href="#468">468</a>         testStatement(statement, TestQueryProcessor.ON_GREATER_OR_EQUALS);
<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> testNot() {
<a name="473" href="#473">473</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE NOT ISBN = 100"</span>;
<a name="474" href="#474">474</a>         testStatementMultiRule(statement, TestQueryProcessor.ON_NOT);
<a name="475" href="#475">475</a>     }
<a name="476" href="#476">476</a> 
<a name="477" href="#477">477</a>     @Test
<a name="478" href="#478">478</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAnd() {
<a name="479" href="#479">479</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE ISBN = 100 AND Title LIKE 'Harry%'"</span>;
<a name="480" href="#480">480</a>         testStatementMultiRule(statement, TestQueryProcessor.ON_AND);
<a name="481" href="#481">481</a>         assertTrue(queryProcessor.rulesTrackerMap.get(TestQueryProcessor.ON_START) == 1);
<a name="482" href="#482">482</a>         assertTrue(queryProcessor.rulesTrackerMap.get(TestQueryProcessor.ON_EQUALS) == 2);
<a name="483" href="#483">483</a>         assertTrue(queryProcessor.rulesTrackerMap.get(TestQueryProcessor.ON_AND) == 3);
<a name="484" href="#484">484</a>         assertTrue(queryProcessor.rulesTrackerMap.get(TestQueryProcessor.ON_IS_LIKE) == 4);
<a name="485" href="#485">485</a>         assertTrue(queryProcessor.rulesTrackerMap.get(TestQueryProcessor.ON_STOP) == 5);
<a name="486" href="#486">486</a>     }
<a name="487" href="#487">487</a> 
<a name="488" href="#488">488</a>     @Test
<a name="489" href="#489">489</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOr() {
<a name="490" href="#490">490</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE ISBN = 100 OR Title LIKE 'Harry%'"</span>;
<a name="491" href="#491">491</a>         testStatementMultiRule(statement,TestQueryProcessor.ON_OR);
<a name="492" href="#492">492</a>         assertTrue(queryProcessor.rulesTrackerMap.get(TestQueryProcessor.ON_START) == 1);
<a name="493" href="#493">493</a>         assertTrue(queryProcessor.rulesTrackerMap.get(TestQueryProcessor.ON_EQUALS) == 2);
<a name="494" href="#494">494</a>         assertTrue(queryProcessor.rulesTrackerMap.get(TestQueryProcessor.ON_OR) == 3);
<a name="495" href="#495">495</a>         assertTrue(queryProcessor.rulesTrackerMap.get(TestQueryProcessor.ON_IS_LIKE) == 4);
<a name="496" href="#496">496</a>         assertTrue(queryProcessor.rulesTrackerMap.get(TestQueryProcessor.ON_STOP) == 5);
<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> testIn() {
<a name="501" href="#501">501</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE Author IN ('Joe', 'Jim')"</span>;
<a name="502" href="#502">502</a>         testStatement(statement, TestQueryProcessor.ON_IN);
<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> testNotIn() {
<a name="507" href="#507">507</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE Author NOT IN ('Joe', 'Jim')"</span>;
<a name="508" href="#508">508</a>         testStatement(statement, TestQueryProcessor.ON_NOT_IN);
<a name="509" href="#509">509</a>     }
<a name="510" href="#510">510</a> 
<a name="511" href="#511">511</a>     @Test
<a name="512" href="#512">512</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEqAny() {
<a name="513" href="#513">513</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE 'Joe' = ANY Author"</span>;
<a name="514" href="#514">514</a>         testStatement(statement, TestQueryProcessor.ON_EQ_ANY);
<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> testInAny() {
<a name="519" href="#519">519</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE ANY Author IN ('Joe', 'Jim')"</span>;
<a name="520" href="#520">520</a>         testStatement(statement, TestQueryProcessor.ON_IN_ANY);
<a name="521" href="#521">521</a>     }
<a name="522" href="#522">522</a> 
<a name="523" href="#523">523</a>     @Test
<a name="524" href="#524">524</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testNotInAny() {
<a name="525" href="#525">525</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE ANY Author NOT IN ('Joe', 'Jim')"</span>;
<a name="526" href="#526">526</a>         testStatement(statement, TestQueryProcessor.ON_NOT_IN_ANY);
<a name="527" href="#527">527</a>     }
<a name="528" href="#528">528</a> 
<a name="529" href="#529">529</a>     @Test
<a name="530" href="#530">530</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnIsNullWasCalled() {
<a name="531" href="#531">531</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE Author IS NULL"</span>;
<a name="532" href="#532">532</a>         testStatement(statement, TestQueryProcessor.ON_IS_NULL);
<a name="533" href="#533">533</a>     }
<a name="534" href="#534">534</a> 
<a name="535" href="#535">535</a>     @Test
<a name="536" href="#536">536</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnIsNotNullWasCalled() {
<a name="537" href="#537">537</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE Author IS NOT NULL"</span>;
<a name="538" href="#538">538</a>         testStatement(statement, TestQueryProcessor.ON_IS_NOT_NULL);
<a name="539" href="#539">539</a>     }
<a name="540" href="#540">540</a> 
<a name="541" href="#541">541</a>     @Test
<a name="542" href="#542">542</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnLikeWasCalled() {
<a name="543" href="#543">543</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE Author LIKE 'Harry%'"</span>;
<a name="544" href="#544">544</a>         testStatement(statement, TestQueryProcessor.ON_IS_LIKE);
<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> testOnNotLikeWasCalled() {
<a name="549" href="#549">549</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE Author NOT LIKE 'Harry%'"</span>;
<a name="550" href="#550">550</a>         testStatement(statement, TestQueryProcessor.ON_IS_NOT_LIKE);
<a name="551" href="#551">551</a>     }
<a name="552" href="#552">552</a> 
<a name="553" href="#553">553</a>     @Test
<a name="554" href="#554">554</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnContainsWasCalled1() {
<a name="555" href="#555">555</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE CONTAINS('Hello')"</span>;
<a name="556" href="#556">556</a>         testStatementMultiRule(statement, TestQueryProcessor.ON_CONTAINS);
<a name="557" href="#557">557</a>     }
<a name="558" href="#558">558</a> 
<a name="559" href="#559">559</a>     @Test
<a name="560" href="#560">560</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnContainsWasCalled2() {
<a name="561" href="#561">561</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE CONTAINS(BookType, 'Harry')"</span>;
<a name="562" href="#562">562</a>         testStatementMultiRule(statement, TestQueryProcessor.ON_CONTAINS);
<a name="563" href="#563">563</a>     }
<a name="564" href="#564">564</a> 
<a name="565" href="#565">565</a>     @Test
<a name="566" href="#566">566</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnInFolderWasCalled1() {
<a name="567" href="#567">567</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE IN_FOLDER('ID1234')"</span>;
<a name="568" href="#568">568</a>         testStatement(statement, TestQueryProcessor.ON_IN_FOLDER);
<a name="569" href="#569">569</a>     }
<a name="570" href="#570">570</a> 
<a name="571" href="#571">571</a>     @Test
<a name="572" href="#572">572</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnInFolderWasCalled2() {
<a name="573" href="#573">573</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE IN_FOLDER(BookType, 'ID1234')"</span>;
<a name="574" href="#574">574</a>         testStatement(statement, TestQueryProcessor.ON_IN_FOLDER);
<a name="575" href="#575">575</a>     }
<a name="576" href="#576">576</a> 
<a name="577" href="#577">577</a>     @Test
<a name="578" href="#578">578</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnInTreeWasCalled1() {
<a name="579" href="#579">579</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE IN_Tree('ID1234')"</span>;
<a name="580" href="#580">580</a>         testStatement(statement, TestQueryProcessor.ON_IN_TREE);
<a name="581" href="#581">581</a>     }
<a name="582" href="#582">582</a> 
<a name="583" href="#583">583</a>     @Test
<a name="584" href="#584">584</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnInTreeWasCalled2() {
<a name="585" href="#585">585</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE IN_Tree(BookType, 'ID1234')"</span>;
<a name="586" href="#586">586</a>         testStatement(statement, TestQueryProcessor.ON_IN_TREE);
<a name="587" href="#587">587</a>     }
<a name="588" href="#588">588</a> 
<a name="589" href="#589">589</a>     @Test
<a name="590" href="#590">590</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnScoreCalled() {
<a name="591" href="#591">591</a>         String statement = <span class="jxr_string">"SELECT BookType.Title, BookType.Author FROM BookType WHERE SCORE()=100"</span>;
<a name="592" href="#592">592</a>         testStatementMultiRule(statement, TestQueryProcessor.ON_SCORE);
<a name="593" href="#593">593</a>     }
<a name="594" href="#594">594</a> 
<a name="595" href="#595">595</a>     @Test
<a name="596" href="#596">596</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnTextWordLiteral() {
<a name="597" href="#597">597</a>         String statement = <span class="jxr_string">"SELECT * FROM BookType WHERE CONTAINS('abc')"</span>;
<a name="598" href="#598">598</a>         testStatementMultiRule(statement, TestQueryProcessor.ON_TEXT_WORD);
<a name="599" href="#599">599</a>     }
<a name="600" href="#600">600</a> 
<a name="601" href="#601">601</a>     @Test
<a name="602" href="#602">602</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnTextPhraseLiteral() {
<a name="603" href="#603">603</a>         String statement = <span class="jxr_string">"SELECT * FROM BookType WHERE CONTAINS('&#92;&#92;'abc&#92;&#92;'')"</span>;
<a name="604" href="#604">604</a>         testStatementMultiRule(statement, TestQueryProcessor.ON_TEXT_PHRASE);
<a name="605" href="#605">605</a>     }
<a name="606" href="#606">606</a> 
<a name="607" href="#607">607</a>     @Test
<a name="608" href="#608">608</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnTextAnd() {
<a name="609" href="#609">609</a>         String statement = <span class="jxr_string">"SELECT * FROM BookType WHERE CONTAINS('abc def')"</span>;
<a name="610" href="#610">610</a>         testStatementMultiRule(statement, TestQueryProcessor.ON_TEXT_AND);
<a name="611" href="#611">611</a>     }
<a name="612" href="#612">612</a> 
<a name="613" href="#613">613</a>     @Test
<a name="614" href="#614">614</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnTextOr() {
<a name="615" href="#615">615</a>         String statement = <span class="jxr_string">"SELECT * FROM BookType WHERE CONTAINS('abc OR def')"</span>;
<a name="616" href="#616">616</a>         testStatementMultiRule(statement, TestQueryProcessor.ON_TEXT_OR);
<a name="617" href="#617">617</a>     }
<a name="618" href="#618">618</a> 
<a name="619" href="#619">619</a>     @Test
<a name="620" href="#620">620</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOnTextMinus() {
<a name="621" href="#621">621</a>         String statement = <span class="jxr_string">"SELECT * FROM BookType WHERE CONTAINS('abc -def')"</span>;
<a name="622" href="#622">622</a>         testStatementMultiRule(statement, TestQueryProcessor.ON_TEXT_MINUS);
<a name="623" href="#623">623</a>     }
<a name="624" href="#624">624</a> 
<a name="625" href="#625">625</a>     <em class="jxr_comment">// private helper functions</em>
<a name="626" href="#626">626</a> 
<a name="627" href="#627">627</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> testStatementMultiRule(String statement, String ruleAssertion) {
<a name="628" href="#628">628</a>         traverseStatementAndCatchExc(statement); <em class="jxr_comment">// calls query processor</em>
<a name="629" href="#629">629</a>         assertTrue(queryProcessor.rulesTrackerMap.get(ruleAssertion) &gt; 0);
<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">void</strong> testStatement(String statement, String ruleAssertion) {
<a name="633" href="#633">633</a>         testStatementMultiRule(statement, ruleAssertion);
<a name="634" href="#634">634</a>         checkOtherRulesNotCalled(ruleAssertion);
<a name="635" href="#635">635</a>     }
<a name="636" href="#636">636</a> 
<a name="637" href="#637">637</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkOtherRulesNotCalled(String ruleAssertion) {
<a name="638" href="#638">638</a>         <strong class="jxr_keyword">for</strong> (Entry&lt;String, Integer&gt; e : queryProcessor.rulesTrackerMap.entrySet()) {
<a name="639" href="#639">639</a>             <strong class="jxr_keyword">if</strong> (!e.getKey().equals(ruleAssertion) &amp;&amp; !e.getKey().equals(<span class="jxr_string">"onPropertyValueWasCalled"</span>)
<a name="640" href="#640">640</a>                     &amp;&amp; !e.getKey().equals(TestQueryProcessor.ON_START) &amp;&amp; !e.getKey().equals(TestQueryProcessor.ON_STOP)
<a name="641" href="#641">641</a>                     &amp;&amp; !e.getKey().contains(<span class="jxr_string">"Literal"</span>)) {
<a name="642" href="#642">642</a>                 assertFalse(<span class="jxr_string">"Rule "</span> + e.getKey() + <span class="jxr_string">" was expected not to be executed, but was executed."</span>,
<a name="643" href="#643">643</a>                         queryProcessor.rulesTrackerMap.get(e.getKey()) &gt; 0);
<a name="644" href="#644">644</a>             }
<a name="645" href="#645">645</a>         }
<a name="646" href="#646">646</a>     }
<a name="647" href="#647">647</a> 
<a name="648" href="#648">648</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

