<!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=UTF-8" />
<title>FindServiceByTModelKeyQuery xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/juddi/query/FindServiceByTModelKeyQuery.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   <em class="jxr_comment"> * Copyright 2001-2008 The Apache Software Foundation.</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment"> * </em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> * you may not use this file except in compliance with the License.</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> * You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> * </em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> * </em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> * limitations under the License.</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <strong class="jxr_keyword">package</strong> org.apache.juddi.query;
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> javax.persistence.EntityManager;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.logging.Log;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.logging.LogFactory;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.juddi.query.util.DynamicQuery;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.juddi.query.util.FindQualifiers;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> org.uddi.api_v3.TModelBag;
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <em class="jxr_javadoccomment"> * Returns the list of service keys with bindings that possess the tModels in the passed tModelBag.</em>
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <em class="jxr_javadoccomment"> * Output is restricted by list of service keys passed in.  If null, all services are searched.</em>
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <em class="jxr_javadoccomment"> * Output is produced by building the appropriate JPA query based on input and find qualifiers.</em>
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <em class="jxr_javadoccomment"> * </em>
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <em class="jxr_javadoccomment"> * From specification:</em>
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <em class="jxr_javadoccomment"> * "Every Web service instance is represented in UDDI by a bindingTemplate contained within some businessService. A </em>
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <em class="jxr_javadoccomment"> * bindingTemplate contains a collection of  tModel references called its "technical fingerprint" that specifies its type. </em>
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <em class="jxr_javadoccomment"> * The tModelBag argument is a collection of tModelKey values specifying that the search results are to be limited to </em>
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <em class="jxr_javadoccomment"> * businessServices containing bindingTemplates with technical fingerprints that match.</em>
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <em class="jxr_javadoccomment"> * If a find_tModel argument is specified (see below), it is treated as an embedded inquiry.  The tModelKeys returned as a result </em>
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <em class="jxr_javadoccomment"> * of this embedded find_tModel argument are used as if they had been supplied in a tModelBag argument. Changing the order of </em>
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <em class="jxr_javadoccomment"> * the keys in the collection or specifying the same tModelKey more than once does not change the behavior of the find. </em>
<a class="jxr_linenumber" name="L44" href="#L44">44</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <em class="jxr_javadoccomment"> * By default, only bindingTemplates that contain all of the tModelKeys in the technical fingerprint match (logical AND). Specifying </em>
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <em class="jxr_javadoccomment"> * appropriate findQualifiers can override this behavior so that bindingTemplates containing any of the specified tModelKeys </em>
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  <em class="jxr_javadoccomment"> * match (logical OR)."</em>
<a class="jxr_linenumber" name="L48" href="#L48">48</a>  <em class="jxr_javadoccomment"> *  </em>
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:jfaath@apache.org" target="alexandria_uri">mailto:jfaath@apache.org</a>"&gt;Jeff Faath&lt;/a&gt;</em>
<a class="jxr_linenumber" name="L50" href="#L50">50</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:tcunning@apache.org" target="alexandria_uri">mailto:tcunning@apache.org</a>"&gt;Tom Cunningham&lt;/a&gt;</em>
<a class="jxr_linenumber" name="L51" href="#L51">51</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/juddi/query/FindServiceByTModelKeyQuery.html">FindServiceByTModelKeyQuery</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/juddi/query/BusinessServiceQuery.html">BusinessServiceQuery</a> {
<a class="jxr_linenumber" name="L53" href="#L53">53</a>  	
<a class="jxr_linenumber" name="L54" href="#L54">54</a>  	@SuppressWarnings(<span class="jxr_string">"unused"</span>)
<a class="jxr_linenumber" name="L55" href="#L55">55</a>  	<strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Log log = LogFactory.getLog(FindServiceByTModelKeyQuery.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="L56" href="#L56">56</a>  
<a class="jxr_linenumber" name="L57" href="#L57">57</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ENTITY_NAME_CHILD = <span class="jxr_string">"TmodelInstanceInfo"</span>;
<a class="jxr_linenumber" name="L58" href="#L58">58</a>  
<a class="jxr_linenumber" name="L59" href="#L59">59</a>  	<strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String entityAliasChild;
<a class="jxr_linenumber" name="L60" href="#L60">60</a>  	
<a class="jxr_linenumber" name="L61" href="#L61">61</a>  	<strong class="jxr_keyword">static</strong> {
<a class="jxr_linenumber" name="L62" href="#L62">62</a>  		entityAliasChild = buildAlias(ENTITY_NAME_CHILD);
<a class="jxr_linenumber" name="L63" href="#L63">63</a>  	}
<a class="jxr_linenumber" name="L64" href="#L64">64</a>  
<a class="jxr_linenumber" name="L65" href="#L65">65</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> List&lt;Object&gt; select(EntityManager em, <a href="../../../../org/apache/juddi/query/util/FindQualifiers.html">FindQualifiers</a> fq, TModelBag tModels, String parentKey, List&lt;Object&gt; keysIn, DynamicQuery.Parameter... restrictions) {
<a class="jxr_linenumber" name="L66" href="#L66">66</a>  		<em class="jxr_comment">// If keysIn is not null and empty, then search is over.</em>
<a class="jxr_linenumber" name="L67" href="#L67">67</a>  		<strong class="jxr_keyword">if</strong> ((keysIn != <strong class="jxr_keyword">null</strong>) &amp;&amp; (keysIn.isEmpty()))
<a class="jxr_linenumber" name="L68" href="#L68">68</a>  			<strong class="jxr_keyword">return</strong> keysIn;
<a class="jxr_linenumber" name="L69" href="#L69">69</a>  		
<a class="jxr_linenumber" name="L70" href="#L70">70</a>  		<strong class="jxr_keyword">if</strong> (tModels == <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L71" href="#L71">71</a>  			<strong class="jxr_keyword">return</strong> keysIn;
<a class="jxr_linenumber" name="L72" href="#L72">72</a>  		
<a class="jxr_linenumber" name="L73" href="#L73">73</a>  		List&lt;String&gt; tmodelKeys = tModels.getTModelKey();
<a class="jxr_linenumber" name="L74" href="#L74">74</a>  		<strong class="jxr_keyword">if</strong> (tmodelKeys == <strong class="jxr_keyword">null</strong> || tmodelKeys.isEmpty())
<a class="jxr_linenumber" name="L75" href="#L75">75</a>  			<strong class="jxr_keyword">return</strong> keysIn;
<a class="jxr_linenumber" name="L76" href="#L76">76</a>  		
<a class="jxr_linenumber" name="L77" href="#L77">77</a>  		DynamicQuery dynamicQry = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/juddi/query/util/DynamicQuery.html">DynamicQuery</a>(selectSQL);
<a class="jxr_linenumber" name="L78" href="#L78">78</a>  		appendConditions(dynamicQry, fq, tmodelKeys);
<a class="jxr_linenumber" name="L79" href="#L79">79</a>  		<strong class="jxr_keyword">if</strong> (parentKey != <strong class="jxr_keyword">null</strong> &amp;&amp; parentKey.length() &gt; 0)
<a class="jxr_linenumber" name="L80" href="#L80">80</a>  			dynamicQry.AND().pad().appendGroupedAnd(<strong class="jxr_keyword">new</strong> DynamicQuery.Parameter(BusinessServiceQuery.ENTITY_ALIAS + <span class="jxr_string">"."</span> + BusinessServiceQuery.KEY_NAME_PARENT, parentKey, DynamicQuery.PREDICATE_EQUALS));
<a class="jxr_linenumber" name="L81" href="#L81">81</a>  			<em class="jxr_comment">//dynamicQry.AND().pad().appendGroupedAnd(new DynamicQuery.Parameter(BindingTemplateQuery.ENTITY_ALIAS + "." + BindingTemplateQuery.KEY_NAME_PARENT, parentKey, DynamicQuery.PREDICATE_EQUALS));</em>
<a class="jxr_linenumber" name="L82" href="#L82">82</a>  		
<a class="jxr_linenumber" name="L83" href="#L83">83</a>  		<strong class="jxr_keyword">if</strong> (restrictions != <strong class="jxr_keyword">null</strong> &amp;&amp; restrictions.length &gt; 0)
<a class="jxr_linenumber" name="L84" href="#L84">84</a>  			dynamicQry.AND().pad().appendGroupedAnd(restrictions);
<a class="jxr_linenumber" name="L85" href="#L85">85</a>  		
<a class="jxr_linenumber" name="L86" href="#L86">86</a>  		<strong class="jxr_keyword">return</strong> getQueryResult(em, dynamicQry, keysIn, ENTITY_ALIAS + <span class="jxr_string">"."</span> + KEY_NAME);
<a class="jxr_linenumber" name="L87" href="#L87">87</a>  	}
<a class="jxr_linenumber" name="L88" href="#L88">88</a>  	
<a class="jxr_linenumber" name="L89" href="#L89">89</a>  	
<a class="jxr_linenumber" name="L90" href="#L90">90</a>  	<em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L91" href="#L91">91</a>  <em class="jxr_comment">	 * Appends the conditions to the query based on the tModelKey list.  With the default or when "orAllKeys" is passed, the keyedReferences are autonomous and are</em>
<a class="jxr_linenumber" name="L92" href="#L92">92</a>  <em class="jxr_comment">	 * all AND'd or OR'd respectively.  </em>
<a class="jxr_linenumber" name="L93" href="#L93">93</a>  <em class="jxr_comment">	 *	 </em>
<a class="jxr_linenumber" name="L94" href="#L94">94</a>  <em class="jxr_comment">	 */</em>
<a class="jxr_linenumber" name="L95" href="#L95">95</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> appendConditions(<a href="../../../../org/apache/juddi/query/util/DynamicQuery.html">DynamicQuery</a> qry, <a href="../../../../org/apache/juddi/query/util/FindQualifiers.html">FindQualifiers</a> fq, List&lt;String&gt; tmodelKeys) {
<a class="jxr_linenumber" name="L96" href="#L96">96</a>  		
<a class="jxr_linenumber" name="L97" href="#L97">97</a>  		<em class="jxr_comment">// Append the necessary tables (one will always be added connecting the entity to its instanceinfo table).</em>
<a class="jxr_linenumber" name="L98" href="#L98">98</a>  		appendJoinTables(qry, fq, tmodelKeys);
<a class="jxr_linenumber" name="L99" href="#L99">99</a>  		qry.AND().pad().openParen().pad();
<a class="jxr_linenumber" name="L100" href="#L100">100</a> 		
<a class="jxr_linenumber" name="L101" href="#L101">101</a> 		<strong class="jxr_keyword">int</strong> count = 0;
<a class="jxr_linenumber" name="L102" href="#L102">102</a> 		<strong class="jxr_keyword">int</strong> tblCount = -1;
<a class="jxr_linenumber" name="L103" href="#L103">103</a> 		<strong class="jxr_keyword">for</strong>(String tmodelKey : tmodelKeys) {
<a class="jxr_linenumber" name="L104" href="#L104">104</a> 			
<a class="jxr_linenumber" name="L105" href="#L105">105</a> 			tblCount++;
<a class="jxr_linenumber" name="L106" href="#L106">106</a> 			String tmodelKeyTerm = (fq.isOrAllKeys()?entityAliasChild + <span class="jxr_string">"0"</span>:entityAliasChild + tblCount) + <span class="jxr_string">".tmodelKey"</span>;
<a class="jxr_linenumber" name="L107" href="#L107">107</a> 			qry.appendGroupedAnd(<strong class="jxr_keyword">new</strong> DynamicQuery.Parameter(tmodelKeyTerm, tmodelKey, DynamicQuery.PREDICATE_EQUALS));
<a class="jxr_linenumber" name="L108" href="#L108">108</a> 			
<a class="jxr_linenumber" name="L109" href="#L109">109</a> 			<strong class="jxr_keyword">if</strong> (count + 1 &lt; tmodelKeys.size()) {
<a class="jxr_linenumber" name="L110" href="#L110">110</a> 				<strong class="jxr_keyword">if</strong> (fq.isOrAllKeys())
<a class="jxr_linenumber" name="L111" href="#L111">111</a> 					qry.OR().pad();
<a class="jxr_linenumber" name="L112" href="#L112">112</a> 				<strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L113" href="#L113">113</a> 					qry.AND().pad();
<a class="jxr_linenumber" name="L114" href="#L114">114</a> 			}
<a class="jxr_linenumber" name="L115" href="#L115">115</a> 			
<a class="jxr_linenumber" name="L116" href="#L116">116</a> 			count++;
<a class="jxr_linenumber" name="L117" href="#L117">117</a> 		}
<a class="jxr_linenumber" name="L118" href="#L118">118</a> 		qry.closeParen().pad();
<a class="jxr_linenumber" name="L119" href="#L119">119</a> 		
<a class="jxr_linenumber" name="L120" href="#L120">120</a> 	}
<a class="jxr_linenumber" name="L121" href="#L121">121</a> 	
<a class="jxr_linenumber" name="L122" href="#L122">122</a> 	<em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L123" href="#L123">123</a> <em class="jxr_comment">	 * Appends the necessary join table for the child entity and additional tables for when keys are AND'd.  This is the default behavior </em>
<a class="jxr_linenumber" name="L124" href="#L124">124</a> <em class="jxr_comment">	 * so only need to add additional tables if "orAllKeys" has not been set.</em>
<a class="jxr_linenumber" name="L125" href="#L125">125</a> <em class="jxr_comment">	 */</em>
<a class="jxr_linenumber" name="L126" href="#L126">126</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> appendJoinTables(<a href="../../../../org/apache/juddi/query/util/DynamicQuery.html">DynamicQuery</a> qry, <a href="../../../../org/apache/juddi/query/util/FindQualifiers.html">FindQualifiers</a> fq, List&lt;String&gt; tmodelKeys) {
<a class="jxr_linenumber" name="L127" href="#L127">127</a> 		
<a class="jxr_linenumber" name="L128" href="#L128">128</a> 
<a class="jxr_linenumber" name="L129" href="#L129">129</a> 		<strong class="jxr_keyword">if</strong> (tmodelKeys != <strong class="jxr_keyword">null</strong> &amp;&amp; tmodelKeys.size() &gt; 0) {
<a class="jxr_linenumber" name="L130" href="#L130">130</a> 			qry.comma().pad().append(BindingTemplateQuery.ENTITY_NAME + <span class="jxr_string">" "</span> + BindingTemplateQuery.ENTITY_ALIAS).pad();
<a class="jxr_linenumber" name="L131" href="#L131">131</a> 			
<a class="jxr_linenumber" name="L132" href="#L132">132</a> 			StringBuilder thetaJoins = <strong class="jxr_keyword">new</strong> StringBuilder(200);
<a class="jxr_linenumber" name="L133" href="#L133">133</a> 			<strong class="jxr_keyword">int</strong> tblCount = 0;
<a class="jxr_linenumber" name="L134" href="#L134">134</a> 			<strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> count = 0; count &lt; tmodelKeys.size(); count++) {
<a class="jxr_linenumber" name="L135" href="#L135">135</a> 				<strong class="jxr_keyword">if</strong> (count != 0) {
<a class="jxr_linenumber" name="L136" href="#L136">136</a> 					<strong class="jxr_keyword">if</strong> (!fq.isOrAllKeys()) {
<a class="jxr_linenumber" name="L137" href="#L137">137</a> 						tblCount++;
<a class="jxr_linenumber" name="L138" href="#L138">138</a> 						qry.comma().pad().append(ENTITY_NAME_CHILD + <span class="jxr_string">" "</span> + entityAliasChild + tblCount).pad();
<a class="jxr_linenumber" name="L139" href="#L139">139</a> 						thetaJoins.append(entityAliasChild).append(tblCount - 1).append(<span class="jxr_string">"."</span> + BindingTemplateQuery.ENTITY_FIELD + <span class="jxr_string">"."</span> + BindingTemplateQuery.KEY_NAME + <span class="jxr_string">" = "</span>).append(entityAliasChild).append(tblCount).append(<span class="jxr_string">"."</span> + BindingTemplateQuery.ENTITY_FIELD + <span class="jxr_string">"."</span> + BindingTemplateQuery.KEY_NAME + <span class="jxr_string">" "</span>);
<a class="jxr_linenumber" name="L140" href="#L140">140</a> 						thetaJoins.append(DynamicQuery.OPERATOR_AND + <span class="jxr_string">" "</span>);
<a class="jxr_linenumber" name="L141" href="#L141">141</a> 					}
<a class="jxr_linenumber" name="L142" href="#L142">142</a> 				}
<a class="jxr_linenumber" name="L143" href="#L143">143</a> 				<strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L144" href="#L144">144</a> 					qry.comma().pad().append(ENTITY_NAME_CHILD + <span class="jxr_string">" "</span> + entityAliasChild + tblCount).pad();
<a class="jxr_linenumber" name="L145" href="#L145">145</a> 					thetaJoins.append(BindingTemplateQuery.ENTITY_ALIAS + <span class="jxr_string">"."</span> + BindingTemplateQuery.KEY_NAME + <span class="jxr_string">" = "</span>).append(entityAliasChild).append(tblCount).append(<span class="jxr_string">"."</span> + BindingTemplateQuery.ENTITY_FIELD + <span class="jxr_string">"."</span> + BindingTemplateQuery.KEY_NAME + <span class="jxr_string">" "</span>);
<a class="jxr_linenumber" name="L146" href="#L146">146</a> 					thetaJoins.append(DynamicQuery.OPERATOR_AND + <span class="jxr_string">" "</span>);
<a class="jxr_linenumber" name="L147" href="#L147">147</a> 				}
<a class="jxr_linenumber" name="L148" href="#L148">148</a> 			}
<a class="jxr_linenumber" name="L149" href="#L149">149</a> 			
<a class="jxr_linenumber" name="L150" href="#L150">150</a> 			qry.WHERE().pad().openParen().pad();
<a class="jxr_linenumber" name="L151" href="#L151">151</a> 			
<a class="jxr_linenumber" name="L152" href="#L152">152</a> 			qry.append(ENTITY_ALIAS + <span class="jxr_string">"."</span> + KEY_NAME + <span class="jxr_string">" = "</span> + BindingTemplateQuery.ENTITY_ALIAS + <span class="jxr_string">"."</span> + ENTITY_FIELD + <span class="jxr_string">"."</span> + KEY_NAME).pad();
<a class="jxr_linenumber" name="L153" href="#L153">153</a> 			qry.AND().pad();
<a class="jxr_linenumber" name="L154" href="#L154">154</a> 		
<a class="jxr_linenumber" name="L155" href="#L155">155</a> 			String thetaJoinsStr = thetaJoins.toString();
<a class="jxr_linenumber" name="L156" href="#L156">156</a> 			<strong class="jxr_keyword">if</strong> (thetaJoinsStr.endsWith(DynamicQuery.OPERATOR_AND + <span class="jxr_string">" "</span>))
<a class="jxr_linenumber" name="L157" href="#L157">157</a> 				thetaJoinsStr = thetaJoinsStr.substring(0, thetaJoinsStr.length() - (DynamicQuery.OPERATOR_AND + <span class="jxr_string">" "</span>).length());
<a class="jxr_linenumber" name="L158" href="#L158">158</a> 			qry.append(thetaJoinsStr);
<a class="jxr_linenumber" name="L159" href="#L159">159</a> 
<a class="jxr_linenumber" name="L160" href="#L160">160</a> 			qry.closeParen().pad();
<a class="jxr_linenumber" name="L161" href="#L161">161</a> 			<strong class="jxr_keyword">if</strong> (fq!=<strong class="jxr_keyword">null</strong> &amp;&amp; fq.isSignaturePresent()) {
<a class="jxr_linenumber" name="L162" href="#L162">162</a> 				qry.AND().pad().openParen().pad().append(BusinessServiceQuery.SIGNATURE_PRESENT).pad().closeParen().pad();
<a class="jxr_linenumber" name="L163" href="#L163">163</a> 			}
<a class="jxr_linenumber" name="L164" href="#L164">164</a> 		}
<a class="jxr_linenumber" name="L165" href="#L165">165</a> 	}
<a class="jxr_linenumber" name="L166" href="#L166">166</a> 	
<a class="jxr_linenumber" name="L167" href="#L167">167</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2004&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
</body>
</html>
