<!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>ConfigurationManager xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/savan/configuration/ConfigurationManager.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> * Copyright  1999-2004 The Apache Software Foundation.</em>
<a name="3" href="#3">3</a>   <em class="comment"> *</em>
<a name="4" href="#4">4</a>   <em class="comment"> *  Licensed under the Apache License, Version 2.0 (the "License");</em>
<a name="5" href="#5">5</a>   <em class="comment"> *  you may not use this file except in compliance with the License.</em>
<a name="6" href="#6">6</a>   <em class="comment"> *  You may obtain a copy of the License at</em>
<a name="7" href="#7">7</a>   <em class="comment"> *</em>
<a name="8" href="#8">8</a>   <em class="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="9" href="#9">9</a>   <em class="comment"> *</em>
<a name="10" href="#10">10</a>  <em class="comment"> *  Unless required by applicable law or agreed to in writing, software</em>
<a name="11" href="#11">11</a>  <em class="comment"> *  distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="12" href="#12">12</a>  <em class="comment"> *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="13" href="#13">13</a>  <em class="comment"> *  See the License for the specific language governing permissions and</em>
<a name="14" href="#14">14</a>  <em class="comment"> *  limitations under the License.</em>
<a name="15" href="#15">15</a>  <em class="comment"> *</em>
<a name="16" href="#16">16</a>  <em class="comment"> */</em>
<a name="17" href="#17">17</a>  
<a name="18" href="#18">18</a>  <strong>package</strong> org.apache.savan.configuration;
<a name="19" href="#19">19</a>  
<a name="20" href="#20">20</a>  <strong>import</strong> java.io.File;
<a name="21" href="#21">21</a>  <strong>import</strong> java.io.FileInputStream;
<a name="22" href="#22">22</a>  <strong>import</strong> java.io.IOException;
<a name="23" href="#23">23</a>  <strong>import</strong> java.io.InputStream;
<a name="24" href="#24">24</a>  <strong>import</strong> java.util.HashMap;
<a name="25" href="#25">25</a>  <strong>import</strong> java.util.Iterator;
<a name="26" href="#26">26</a>  <strong>import</strong> java.util.Map;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <strong>import</strong> javax.xml.namespace.QName;
<a name="29" href="#29">29</a>  <strong>import</strong> javax.xml.stream.XMLInputFactory;
<a name="30" href="#30">30</a>  <strong>import</strong> javax.xml.stream.XMLStreamReader;
<a name="31" href="#31">31</a>  
<a name="32" href="#32">32</a>  <strong>import</strong> org.apache.axiom.om.OMAbstractFactory;
<a name="33" href="#33">33</a>  <strong>import</strong> org.apache.axiom.om.OMElement;
<a name="34" href="#34">34</a>  <strong>import</strong> org.apache.axiom.om.OMFactory;
<a name="35" href="#35">35</a>  <strong>import</strong> org.apache.axiom.om.impl.builder.StAXOMBuilder;
<a name="36" href="#36">36</a>  <strong>import</strong> org.apache.axiom.om.impl.llom.factory.OMXMLBuilderFactory;
<a name="37" href="#37">37</a>  <strong>import</strong> org.apache.savan.SavanConstants;
<a name="38" href="#38">38</a>  <strong>import</strong> org.apache.savan.SavanException;
<a name="39" href="#39">39</a>  <strong>import</strong> org.apache.savan.filters.Filter;
<a name="40" href="#40">40</a>  <strong>import</strong> org.apache.savan.storage.SubscriberStore;
<a name="41" href="#41">41</a>  <strong>import</strong> org.apache.savan.subscribers.AbstractSubscriber;
<a name="42" href="#42">42</a>  <strong>import</strong> org.apache.savan.subscribers.Subscriber;
<a name="43" href="#43">43</a>  <strong>import</strong> org.apache.savan.util.UtilFactory;
<a name="44" href="#44">44</a>  
<a name="45" href="#45">45</a>  <em>/**<em>*</em></em>
<a name="46" href="#46">46</a>  <em> * This is responsible for loading Savan configuration data from a resource</em>
<a name="47" href="#47">47</a>  <em> * for e.g. from a savan-config.xml fie</em>
<a name="48" href="#48">48</a>  <em> */</em>
<a name="49" href="#49">49</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/savan/configuration/ConfigurationManager.html">ConfigurationManager</a> {
<a name="50" href="#50">50</a>  	
<a name="51" href="#51">51</a>  	<strong>private</strong> HashMap protocolMap = <strong>null</strong>;
<a name="52" href="#52">52</a>  	<strong>private</strong> HashMap subscriberStoreNamesMap = <strong>null</strong>;
<a name="53" href="#53">53</a>  	<strong>private</strong> HashMap filterMap = <strong>null</strong>;
<a name="54" href="#54">54</a>  	<strong>private</strong> HashMap subscribersMap = <strong>null</strong>;
<a name="55" href="#55">55</a>  	
<a name="56" href="#56">56</a>  	<strong>private</strong> <strong>final</strong> String SAVAN_CONFIG = <span class="string">"savan-config"</span>;
<a name="57" href="#57">57</a>  	<strong>private</strong> <strong>final</strong> String PROTOCOLS = <span class="string">"protocols"</span>;
<a name="58" href="#58">58</a>  	<strong>private</strong> <strong>final</strong> String PROTOCOL = <span class="string">"protocol"</span>;
<a name="59" href="#59">59</a>  	<strong>private</strong> <strong>final</strong> String NAME = <span class="string">"name"</span>;
<a name="60" href="#60">60</a>  	<strong>private</strong> <strong>final</strong> String UTIL_FACTORY = <span class="string">"utilFactory"</span>;
<a name="61" href="#61">61</a>  	<strong>private</strong> <strong>final</strong> String MAPPING_RULES = <span class="string">"mapping-rules"</span>;
<a name="62" href="#62">62</a>  	<strong>private</strong> <strong>final</strong> String ACTION = <span class="string">"mapping-rules"</span>;
<a name="63" href="#63">63</a>  	<strong>private</strong> <strong>final</strong> String SOAP_ACTION = <span class="string">"mapping-rules"</span>;
<a name="64" href="#64">64</a>  	<strong>private</strong> <strong>final</strong> String SUBSCRIBER_STORES = <span class="string">"subscriberStores"</span>;
<a name="65" href="#65">65</a>  	<strong>private</strong> <strong>final</strong> String SUBSCRIBER_STORE = <span class="string">"subscriberStore"</span>;
<a name="66" href="#66">66</a>  	<strong>private</strong> <strong>final</strong> String FILTERS = <span class="string">"filters"</span>;
<a name="67" href="#67">67</a>  	<strong>private</strong> <strong>final</strong> String FILTER = <span class="string">"filter"</span>;
<a name="68" href="#68">68</a>  	<strong>private</strong> <strong>final</strong> String KEY = <span class="string">"key"</span>;
<a name="69" href="#69">69</a>  	<strong>private</strong> <strong>final</strong> String CLASS = <span class="string">"class"</span>;
<a name="70" href="#70">70</a>  	<strong>private</strong> <strong>final</strong> String IDENTIFIER = <span class="string">"identifier"</span>;
<a name="71" href="#71">71</a>  	<strong>private</strong> <strong>final</strong> String SUBSCRIBERS = <span class="string">"subscribers"</span>;
<a name="72" href="#72">72</a>  	<strong>private</strong> <strong>final</strong> String SUBSCRIBER = <span class="string">"subscriber"</span>;
<a name="73" href="#73">73</a>  	<strong>private</strong> <strong>final</strong> String URL_APPENDER = <span class="string">"urlAppender"</span>;
<a name="74" href="#74">74</a>  	<strong>private</strong> <strong>final</strong> String DEFAULT_SUBSCRIBER = <span class="string">"defaultSubscriber"</span>;
<a name="75" href="#75">75</a>  	<strong>private</strong> <strong>final</strong> String DEFAULT_FILTER = <span class="string">"defaultFilter"</span>;
<a name="76" href="#76">76</a>  	
<a name="77" href="#77">77</a>  	
<a name="78" href="#78">78</a>  	<strong>public</strong> <a href="../../../../org/apache/savan/configuration/ConfigurationManager.html">ConfigurationManager</a> () {
<a name="79" href="#79">79</a>  		protocolMap = <strong>new</strong> HashMap ();
<a name="80" href="#80">80</a>  		subscriberStoreNamesMap = <strong>new</strong> HashMap ();
<a name="81" href="#81">81</a>  		filterMap = <strong>new</strong> HashMap ();
<a name="82" href="#82">82</a>  		subscribersMap = <strong>new</strong> HashMap ();
<a name="83" href="#83">83</a>  	}
<a name="84" href="#84">84</a>  	
<a name="85" href="#85">85</a>  	<em>/**<em>*</em></em>
<a name="86" href="#86">86</a>  <em>	 * To load configurations from a savan-config.xml file in the classpath.</em>
<a name="87" href="#87">87</a>  <em>	 * </em>
<a name="88" href="#88">88</a>  <em>	 * @throws SavanException</em>
<a name="89" href="#89">89</a>  <em>	 */</em>
<a name="90" href="#90">90</a>  	<strong>public</strong> <strong>void</strong> configure () throws SavanException {
<a name="91" href="#91">91</a>  		ClassLoader classLoader = getClass().getClassLoader();
<a name="92" href="#92">92</a>  
<a name="93" href="#93">93</a>  		configure(classLoader);
<a name="94" href="#94">94</a>  	}
<a name="95" href="#95">95</a>  	
<a name="96" href="#96">96</a>  	<strong>public</strong> <strong>void</strong> configure (ClassLoader classLoader) throws SavanException {
<a name="97" href="#97">97</a>  		InputStream in = classLoader.getResourceAsStream(SavanConstants.CONFIG_FILE);
<a name="98" href="#98">98</a>  
<a name="99" href="#99">99</a>  		<strong>if</strong> (in==<strong>null</strong>)
<a name="100" href="#100">100</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"Cannot find the savan configuration file. Initialation cannot continue."</span>);
<a name="101" href="#101">101</a> 		
<a name="102" href="#102">102</a> 		configure(in);
<a name="103" href="#103">103</a> 	}
<a name="104" href="#104">104</a> 	
<a name="105" href="#105">105</a> 	<em>/**<em>*</em></em>
<a name="106" href="#106">106</a> <em>	 * To Load configurations from a file.</em>
<a name="107" href="#107">107</a> <em>	 * </em>
<a name="108" href="#108">108</a> <em>	 * @param file</em>
<a name="109" href="#109">109</a> <em>	 * @throws SavanException</em>
<a name="110" href="#110">110</a> <em>	 */</em>
<a name="111" href="#111">111</a> 	<strong>public</strong> <strong>void</strong> configure (File file) throws SavanException {
<a name="112" href="#112">112</a> 		<strong>try</strong> {
<a name="113" href="#113">113</a> 			InputStream in = <strong>new</strong> FileInputStream (file);
<a name="114" href="#114">114</a> 			configure(in);
<a name="115" href="#115">115</a> 		} <strong>catch</strong> (IOException e) {
<a name="116" href="#116">116</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (e);
<a name="117" href="#117">117</a> 		}
<a name="118" href="#118">118</a> 	}
<a name="119" href="#119">119</a> 	
<a name="120" href="#120">120</a> 	<em>/**<em>*</em></em>
<a name="121" href="#121">121</a> <em>	 * To load configurations from a InputStream.</em>
<a name="122" href="#122">122</a> <em>	 * </em>
<a name="123" href="#123">123</a> <em>	 * @param in</em>
<a name="124" href="#124">124</a> <em>	 * @throws SavanException</em>
<a name="125" href="#125">125</a> <em>	 */</em>
<a name="126" href="#126">126</a> 	<strong>public</strong> <strong>void</strong> configure (InputStream in) throws SavanException {
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a> 		<strong>if</strong> (in==<strong>null</strong>) {
<a name="129" href="#129">129</a> 			String message = <span class="string">"Invalid InputStream."</span>;
<a name="130" href="#130">130</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (message);
<a name="131" href="#131">131</a> 		}
<a name="132" href="#132">132</a> 		
<a name="133" href="#133">133</a> 		<strong>try</strong> {
<a name="134" href="#134">134</a> 			XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(in);
<a name="135" href="#135">135</a> 			OMFactory factory = OMAbstractFactory.getOMFactory();
<a name="136" href="#136">136</a> 			
<a name="137" href="#137">137</a> 			StAXOMBuilder builder = OMXMLBuilderFactory.createStAXOMBuilder(factory,parser);
<a name="138" href="#138">138</a> 			OMElement document = builder.getDocumentElement();
<a name="139" href="#139">139</a> 			
<a name="140" href="#140">140</a> 			<strong>if</strong> (document==<strong>null</strong>) {
<a name="141" href="#141">141</a> 				<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"Configuration XML does not have a document element"</span>);
<a name="142" href="#142">142</a> 			}
<a name="143" href="#143">143</a> 			
<a name="144" href="#144">144</a> 			processSavanConfig(document);
<a name="145" href="#145">145</a> 		} <strong>catch</strong> (Exception e) {
<a name="146" href="#146">146</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (e);
<a name="147" href="#147">147</a> 		} 
<a name="148" href="#148">148</a> 	}
<a name="149" href="#149">149</a> 	
<a name="150" href="#150">150</a> 	
<a name="151" href="#151">151</a> 	<strong>private</strong> <strong>void</strong> processSavanConfig (OMElement element) throws SavanException {
<a name="152" href="#152">152</a> 		<strong>if</strong> (!SAVAN_CONFIG.equals(element.getLocalName())) {
<a name="153" href="#153">153</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"'savan-config'should be the document element of the savan configuration xml file"</span>);
<a name="154" href="#154">154</a> 		}
<a name="155" href="#155">155</a> 		
<a name="156" href="#156">156</a> 		OMElement protocolsElement = element.getFirstChildWithName(<strong>new</strong> QName (PROTOCOLS));
<a name="157" href="#157">157</a> 		<strong>if</strong> (protocolsElement==<strong>null</strong>) {
<a name="158" href="#158">158</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"'protocols' element should be present, as a sub-element of the 'savan-config' element"</span>);
<a name="159" href="#159">159</a> 		}
<a name="160" href="#160">160</a> 		processProtocols(protocolsElement);
<a name="161" href="#161">161</a> 		
<a name="162" href="#162">162</a> 		OMElement subscriberStoresElement = element.getFirstChildWithName(<strong>new</strong> QName (SUBSCRIBER_STORES));
<a name="163" href="#163">163</a> 		<strong>if</strong> (subscriberStoresElement==<strong>null</strong>) {
<a name="164" href="#164">164</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"'subscriberStores' element should be present, as a sub-element of the 'savan-config' element"</span>);
<a name="165" href="#165">165</a> 		}
<a name="166" href="#166">166</a> 		processSubscriberStores(subscriberStoresElement);
<a name="167" href="#167">167</a> 		
<a name="168" href="#168">168</a> 		OMElement filtersElement = element.getFirstChildWithName(<strong>new</strong> QName (FILTERS));
<a name="169" href="#169">169</a> 		<strong>if</strong> (subscriberStoresElement==<strong>null</strong>) {
<a name="170" href="#170">170</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"'Filters' element should be present, as a sub-element of the 'savan-config' element"</span>);
<a name="171" href="#171">171</a> 		}
<a name="172" href="#172">172</a> 		processFilters (filtersElement);
<a name="173" href="#173">173</a> 		
<a name="174" href="#174">174</a> 		OMElement subscribersElement = element.getFirstChildWithName(<strong>new</strong> QName (SUBSCRIBERS));
<a name="175" href="#175">175</a> 		<strong>if</strong> (subscriberStoresElement==<strong>null</strong>) {
<a name="176" href="#176">176</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"'Subscribers' element should be present as a sub-element of the 'savan-config' element"</span>);
<a name="177" href="#177">177</a> 		}
<a name="178" href="#178">178</a> 		processSubscribers (subscribersElement);
<a name="179" href="#179">179</a> 		
<a name="180" href="#180">180</a> 	}
<a name="181" href="#181">181</a> 	
<a name="182" href="#182">182</a> 	<strong>private</strong> <strong>void</strong> processProtocols (OMElement element) throws SavanException {
<a name="183" href="#183">183</a> 		Iterator protocolElementsIterator = element.getChildrenWithName(<strong>new</strong> QName (PROTOCOL));
<a name="184" href="#184">184</a> 		<strong>while</strong> (protocolElementsIterator.hasNext()) {
<a name="185" href="#185">185</a> 			OMElement protocolElement = (OMElement) protocolElementsIterator.next();
<a name="186" href="#186">186</a> 			processProtocol(protocolElement);
<a name="187" href="#187">187</a> 		}
<a name="188" href="#188">188</a> 	}
<a name="189" href="#189">189</a> 	
<a name="190" href="#190">190</a> 	<strong>private</strong> <strong>void</strong> processProtocol (OMElement element) throws SavanException {
<a name="191" href="#191">191</a> 		Protocol protocol = <strong>new</strong> <a href="../../../../org/apache/savan/configuration/Protocol.html">Protocol</a> ();
<a name="192" href="#192">192</a> 		
<a name="193" href="#193">193</a> 		OMElement nameElement = element.getFirstChildWithName(<strong>new</strong> QName (NAME));
<a name="194" href="#194">194</a> 		<strong>if</strong> (nameElement==<strong>null</strong>)
<a name="195" href="#195">195</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"Protocol must have a 'Name' subelement"</span>);
<a name="196" href="#196">196</a> 		String name = nameElement.getText();
<a name="197" href="#197">197</a> 		protocol.setName(name);
<a name="198" href="#198">198</a> 		
<a name="199" href="#199">199</a> 		OMElement utilFactoryNameElement = element.getFirstChildWithName(<strong>new</strong> QName (UTIL_FACTORY));
<a name="200" href="#200">200</a> 		<strong>if</strong> (utilFactoryNameElement==<strong>null</strong>)
<a name="201" href="#201">201</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"Protocol must have a 'UtilFactory' subelement"</span>);
<a name="202" href="#202">202</a> 		String utilFactoryName = utilFactoryNameElement.getText();
<a name="203" href="#203">203</a> 		Object obj = getObject(utilFactoryName);
<a name="204" href="#204">204</a> 		<strong>if</strong> (!(obj instanceof UtilFactory))
<a name="205" href="#205">205</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"UtilFactory element"</span> + utilFactoryName + <span class="string">"is not a subtype of the UtilFactory class"</span>);
<a name="206" href="#206">206</a> 		protocol.setUtilFactory((UtilFactory) obj);
<a name="207" href="#207">207</a> 		
<a name="208" href="#208">208</a> 		OMElement mappingRulesElement = element.getFirstChildWithName(<strong>new</strong> QName (MAPPING_RULES));
<a name="209" href="#209">209</a> 		<strong>if</strong> (mappingRulesElement==<strong>null</strong>)
<a name="210" href="#210">210</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"Protocol must have a 'mappingRules' sub-element"</span>);
<a name="211" href="#211">211</a> 		processMappingRules (mappingRulesElement,protocol);
<a name="212" href="#212">212</a> 		
<a name="213" href="#213">213</a> 		OMElement defaultSubscriberElement = element.getFirstChildWithName(<strong>new</strong> QName (DEFAULT_SUBSCRIBER));
<a name="214" href="#214">214</a> 		<strong>if</strong> (defaultSubscriberElement==<strong>null</strong>)
<a name="215" href="#215">215</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"Protocols must have a 'defaultSubscriber' sub-element"</span>);
<a name="216" href="#216">216</a> 		String defaultSubscriber = defaultSubscriberElement.getText();
<a name="217" href="#217">217</a> 		protocol.setDefaultSubscriber(defaultSubscriber);
<a name="218" href="#218">218</a> 		
<a name="219" href="#219">219</a> 		OMElement defaultFilterElement = element.getFirstChildWithName(<strong>new</strong> QName (DEFAULT_FILTER));
<a name="220" href="#220">220</a> 		<strong>if</strong> (defaultFilterElement==<strong>null</strong>)
<a name="221" href="#221">221</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"Protocols must have a 'defaultFilter' sub-element"</span>);
<a name="222" href="#222">222</a> 		String defaultFilter = defaultFilterElement.getText();
<a name="223" href="#223">223</a> 		protocol.setDefaultFilter(defaultFilter);
<a name="224" href="#224">224</a> 		
<a name="225" href="#225">225</a> 		protocolMap.put(protocol.getName(),protocol);
<a name="226" href="#226">226</a> 	}
<a name="227" href="#227">227</a> 	
<a name="228" href="#228">228</a> 	<strong>private</strong> <strong>void</strong> processMappingRules (OMElement element, Protocol protocol) {
<a name="229" href="#229">229</a> 		
<a name="230" href="#230">230</a> 		MappingRules mappingRules = <strong>new</strong> <a href="../../../../org/apache/savan/configuration/MappingRules.html">MappingRules</a> ();
<a name="231" href="#231">231</a> 		
<a name="232" href="#232">232</a> 		Iterator actionsIterator = element.getChildrenWithName(<strong>new</strong> QName (ACTION));
<a name="233" href="#233">233</a> 		<strong>while</strong> (actionsIterator.hasNext()) {
<a name="234" href="#234">234</a> 			OMElement actionElement = (OMElement) actionsIterator.next();
<a name="235" href="#235">235</a> 			String action = actionElement.getText();
<a name="236" href="#236">236</a> 			mappingRules.addAction(action);
<a name="237" href="#237">237</a> 		}
<a name="238" href="#238">238</a> 		
<a name="239" href="#239">239</a> 		Iterator SOAPActionsIterator = element.getChildrenWithName(<strong>new</strong> QName (SOAP_ACTION));
<a name="240" href="#240">240</a> 		<strong>while</strong> (SOAPActionsIterator.hasNext()) {
<a name="241" href="#241">241</a> 			OMElement SOAPactionElement = (OMElement) SOAPActionsIterator.next();
<a name="242" href="#242">242</a> 			String SOAPaction = SOAPactionElement.getText();
<a name="243" href="#243">243</a> 			mappingRules.addAction(SOAPaction);
<a name="244" href="#244">244</a> 		}
<a name="245" href="#245">245</a> 	}
<a name="246" href="#246">246</a> 	
<a name="247" href="#247">247</a> 	<strong>private</strong> <strong>void</strong> processSubscriberStores (OMElement element) throws SavanException {
<a name="248" href="#248">248</a> 		Iterator subscriberStoreElementsIterator = element.getChildrenWithName(<strong>new</strong> QName (SUBSCRIBER_STORE));
<a name="249" href="#249">249</a> 		<strong>while</strong> (subscriberStoreElementsIterator.hasNext()) {
<a name="250" href="#250">250</a> 			OMElement subscriberStoreElement = (OMElement) subscriberStoreElementsIterator.next();
<a name="251" href="#251">251</a> 			processSubscriberStore(subscriberStoreElement);
<a name="252" href="#252">252</a> 		}
<a name="253" href="#253">253</a> 	}
<a name="254" href="#254">254</a> 	
<a name="255" href="#255">255</a> 	<strong>private</strong> <strong>void</strong> processSubscriberStore (OMElement element) throws SavanException {
<a name="256" href="#256">256</a> 		OMElement keyElement = element.getFirstChildWithName(<strong>new</strong> QName (KEY));
<a name="257" href="#257">257</a> 		<strong>if</strong> (keyElement==<strong>null</strong>)
<a name="258" href="#258">258</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"SubscriberStore must have a 'key' subelement"</span>);
<a name="259" href="#259">259</a> 		String key = keyElement.getText();
<a name="260" href="#260">260</a> 		
<a name="261" href="#261">261</a> 		OMElement classElement = element.getFirstChildWithName(<strong>new</strong> QName (CLASS));
<a name="262" href="#262">262</a> 		<strong>if</strong> (classElement==<strong>null</strong>)
<a name="263" href="#263">263</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"SubscriberStore must have a 'Clazz' subelement'"</span>);
<a name="264" href="#264">264</a> 		
<a name="265" href="#265">265</a> 		String clazz = classElement.getText();
<a name="266" href="#266">266</a> 		
<a name="267" href="#267">267</a> 		<em class="comment">//initialize the class to check weather it is value</em>
<a name="268" href="#268">268</a> 		Object obj = getObject(clazz);
<a name="269" href="#269">269</a> 		
<a name="270" href="#270">270</a> 		<strong>if</strong> (!(obj instanceof SubscriberStore)) {
<a name="271" href="#271">271</a> 			String message = <span class="string">"Class "</span> + clazz + <span class="string">" does not implement the  SubscriberStore interface."</span>;
<a name="272" href="#272">272</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (message);
<a name="273" href="#273">273</a> 		}
<a name="274" href="#274">274</a> 		
<a name="275" href="#275">275</a> 		subscriberStoreNamesMap.put(key,clazz);
<a name="276" href="#276">276</a> 	}
<a name="277" href="#277">277</a> 
<a name="278" href="#278">278</a> 	<strong>public</strong> HashMap getProtocolMap () {
<a name="279" href="#279">279</a> 		<strong>return</strong> protocolMap;
<a name="280" href="#280">280</a> 	}
<a name="281" href="#281">281</a> 	
<a name="282" href="#282">282</a> 	<strong>public</strong> <a href="../../../../org/apache/savan/configuration/Protocol.html">Protocol</a> getProtocol (String name) {
<a name="283" href="#283">283</a> 		<strong>return</strong> (Protocol) protocolMap.get(name);
<a name="284" href="#284">284</a> 	}
<a name="285" href="#285">285</a> 	
<a name="286" href="#286">286</a> 	<strong>public</strong> <a href="../../../../org/apache/savan/storage/SubscriberStore.html">SubscriberStore</a> getSubscriberStoreInstance (String key) throws SavanException {
<a name="287" href="#287">287</a> 		String name = (String) subscriberStoreNamesMap.get(key);
<a name="288" href="#288">288</a> 		<strong>return</strong> (SubscriberStore) getObject(name);
<a name="289" href="#289">289</a> 	}
<a name="290" href="#290">290</a> 	
<a name="291" href="#291">291</a> 	<strong>public</strong> <a href="../../../../org/apache/savan/filters/Filter.html">Filter</a> getFilterInstanceFromName (String name) throws SavanException {
<a name="292" href="#292">292</a> 		<strong>for</strong> (Iterator it=filterMap.keySet().iterator();it.hasNext();) {
<a name="293" href="#293">293</a> 			String key = (String) it.next();
<a name="294" href="#294">294</a> 			FilterBean filterBean = (FilterBean) filterMap.get(key);
<a name="295" href="#295">295</a> 			<strong>if</strong> (name.equals(filterBean.getName()))
<a name="296" href="#296">296</a> 				<strong>return</strong> (Filter) getObject(filterBean.getClazz());
<a name="297" href="#297">297</a> 		}
<a name="298" href="#298">298</a> 		
<a name="299" href="#299">299</a> 		<strong>return</strong> <strong>null</strong>;
<a name="300" href="#300">300</a> 	}
<a name="301" href="#301">301</a> 	
<a name="302" href="#302">302</a> 	<strong>public</strong> <a href="../../../../org/apache/savan/filters/Filter.html">Filter</a> getFilterInstanceFromId (String id) throws SavanException {
<a name="303" href="#303">303</a> 		FilterBean filterBean = (FilterBean) filterMap.get(id);
<a name="304" href="#304">304</a> 		String filterClass = filterBean.getClazz();
<a name="305" href="#305">305</a> 		<strong>if</strong> (filterClass==<strong>null</strong>)
<a name="306" href="#306">306</a> 			<strong>return</strong> <strong>null</strong>;
<a name="307" href="#307">307</a> 		
<a name="308" href="#308">308</a> 		<strong>return</strong> (Filter) getObject(filterClass);
<a name="309" href="#309">309</a> 	}
<a name="310" href="#310">310</a> 	
<a name="311" href="#311">311</a> 	<strong>private</strong> Object getObject (String className) throws SavanException {
<a name="312" href="#312">312</a> 	
<a name="313" href="#313">313</a> 		Object obj;
<a name="314" href="#314">314</a> 		<strong>try</strong> {
<a name="315" href="#315">315</a> 			Class c = Class.forName (className);
<a name="316" href="#316">316</a> 			 obj = c.newInstance();
<a name="317" href="#317">317</a> 		} <strong>catch</strong> (Exception e) {
<a name="318" href="#318">318</a> 			String message = <span class="string">"Can't instantiate the class:"</span> + className;
<a name="319" href="#319">319</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (message,e);
<a name="320" href="#320">320</a> 		}
<a name="321" href="#321">321</a> 		 
<a name="322" href="#322">322</a> 		<strong>return</strong> obj;
<a name="323" href="#323">323</a> 	}
<a name="324" href="#324">324</a> 	
<a name="325" href="#325">325</a> 	<strong>private</strong> <strong>void</strong> processFilters (OMElement element) throws SavanException {
<a name="326" href="#326">326</a> 		Iterator filterElementsIterator = element.getChildrenWithName(<strong>new</strong> QName (FILTER));
<a name="327" href="#327">327</a> 		<strong>while</strong> (filterElementsIterator.hasNext()) {
<a name="328" href="#328">328</a> 			OMElement filterElement = (OMElement) filterElementsIterator.next();
<a name="329" href="#329">329</a> 			processFilter (filterElement);
<a name="330" href="#330">330</a> 		}
<a name="331" href="#331">331</a> 	}
<a name="332" href="#332">332</a> 	
<a name="333" href="#333">333</a> 	<strong>private</strong> <strong>void</strong> processFilter (OMElement element) throws SavanException {
<a name="334" href="#334">334</a> 		OMElement nameElement = element.getFirstChildWithName(<strong>new</strong> QName (NAME));
<a name="335" href="#335">335</a> 		OMElement identifierElement = element.getFirstChildWithName(<strong>new</strong> QName (IDENTIFIER));
<a name="336" href="#336">336</a> 		OMElement classElement = element.getFirstChildWithName(<strong>new</strong> QName (CLASS));
<a name="337" href="#337">337</a> 		
<a name="338" href="#338">338</a> 		<strong>if</strong> (nameElement==<strong>null</strong>)
<a name="339" href="#339">339</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"Name element is not present within the Filter"</span>);
<a name="340" href="#340">340</a> 		<strong>if</strong> (ident<strong>if</strong>ierElement==<strong>null</strong>)
<a name="341" href="#341">341</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"Identifier element is not present within the Filter"</span>);
<a name="342" href="#342">342</a> 		<strong>if</strong> (classElement==<strong>null</strong>)
<a name="343" href="#343">343</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"Class element is not present within the Filter"</span>);
<a name="344" href="#344">344</a> 		
<a name="345" href="#345">345</a> 		String name = nameElement.getText();
<a name="346" href="#346">346</a> 		String identifier = identifierElement.getText();
<a name="347" href="#347">347</a> 		String clazz = classElement.getText();
<a name="348" href="#348">348</a> 		
<a name="349" href="#349">349</a> 		<em class="comment">//initialize the class to check weather it is value</em>
<a name="350" href="#350">350</a> 		Object obj = getObject(clazz);
<a name="351" href="#351">351</a> 		
<a name="352" href="#352">352</a> 		<strong>if</strong> (!(obj instanceof Filter)) {
<a name="353" href="#353">353</a> 			String message = <span class="string">"Class "</span> + clazz + <span class="string">" does not implement the  Filter interface."</span>;
<a name="354" href="#354">354</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (message);
<a name="355" href="#355">355</a> 		}
<a name="356" href="#356">356</a> 		
<a name="357" href="#357">357</a> 		FilterBean bean = <strong>new</strong> <a href="../../../../org/apache/savan/configuration/FilterBean.html">FilterBean</a> ();
<a name="358" href="#358">358</a> 		bean.setName(name);
<a name="359" href="#359">359</a> 		bean.setIdentifier(identifier);
<a name="360" href="#360">360</a> 		bean.setClazz(clazz);
<a name="361" href="#361">361</a> 		
<a name="362" href="#362">362</a> 		filterMap.put(identifier,bean);
<a name="363" href="#363">363</a> 	}
<a name="364" href="#364">364</a> 	
<a name="365" href="#365">365</a> 	<strong>private</strong> <strong>void</strong> processSubscribers (OMElement element) throws SavanException {
<a name="366" href="#366">366</a> 		Iterator subscriberElementsIterator = element.getChildrenWithName(<strong>new</strong> QName (SUBSCRIBER));
<a name="367" href="#367">367</a> 		<strong>while</strong> (subscriberElementsIterator.hasNext()) {
<a name="368" href="#368">368</a> 			OMElement subscriberElement = (OMElement) subscriberElementsIterator.next();
<a name="369" href="#369">369</a> 			processSubscriber (subscriberElement);
<a name="370" href="#370">370</a> 		}
<a name="371" href="#371">371</a> 	}
<a name="372" href="#372">372</a> 	
<a name="373" href="#373">373</a> 	<strong>private</strong> <strong>void</strong> processSubscriber (OMElement element) throws SavanException {
<a name="374" href="#374">374</a> 		OMElement nameElement = element.getFirstChildWithName(<strong>new</strong> QName (NAME));
<a name="375" href="#375">375</a> 		OMElement urlAppenderElement = element.getFirstChildWithName(<strong>new</strong> QName (URL_APPENDER));
<a name="376" href="#376">376</a> 		OMElement classElement = element.getFirstChildWithName(<strong>new</strong> QName (CLASS));
<a name="377" href="#377">377</a> 		
<a name="378" href="#378">378</a> 		<strong>if</strong> (nameElement==<strong>null</strong>)
<a name="379" href="#379">379</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"Name element is not present within the AbstractSubscriber"</span>);
<a name="380" href="#380">380</a> 		<strong>if</strong> (classElement==<strong>null</strong>)
<a name="381" href="#381">381</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (<span class="string">"Class element is not present within the Filter"</span>);
<a name="382" href="#382">382</a> 		
<a name="383" href="#383">383</a> 		String name = nameElement.getText();
<a name="384" href="#384">384</a> 		String clazz = classElement.getText();
<a name="385" href="#385">385</a> 		
<a name="386" href="#386">386</a> 		<em class="comment">//initialize the class to check weather it is valid</em>
<a name="387" href="#387">387</a> 		Object obj = getObject(clazz);
<a name="388" href="#388">388</a> 		
<a name="389" href="#389">389</a> 		<strong>if</strong> (!(obj instanceof Subscriber)) {
<a name="390" href="#390">390</a> 			String message = <span class="string">"Class "</span> + clazz + <span class="string">" does not implement the  Subscriber interface."</span>;
<a name="391" href="#391">391</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (message);
<a name="392" href="#392">392</a> 		}
<a name="393" href="#393">393</a> 		
<a name="394" href="#394">394</a> 		SubscriberBean bean = <strong>new</strong> <a href="../../../../org/apache/savan/configuration/SubscriberBean.html">SubscriberBean</a> ();
<a name="395" href="#395">395</a> 		bean.setName(name);
<a name="396" href="#396">396</a> 		bean.setClazz(clazz);
<a name="397" href="#397">397</a> 		
<a name="398" href="#398">398</a> 		subscribersMap.put(name,bean);
<a name="399" href="#399">399</a> 	}
<a name="400" href="#400">400</a> 	
<a name="401" href="#401">401</a> 	<strong>public</strong> Map getSubscriberBeans () {
<a name="402" href="#402">402</a> 		<strong>return</strong> subscribersMap;
<a name="403" href="#403">403</a> 	}
<a name="404" href="#404">404</a> 	
<a name="405" href="#405">405</a> 	<strong>public</strong> Map getFilterBeans () {
<a name="406" href="#406">406</a> 		<strong>return</strong> filterMap;
<a name="407" href="#407">407</a> 	}
<a name="408" href="#408">408</a> 	
<a name="409" href="#409">409</a> 	<strong>public</strong> <a href="../../../../org/apache/savan/configuration/SubscriberBean.html">SubscriberBean</a> getSubscriberBean (String subscriberName) {
<a name="410" href="#410">410</a> 		<strong>return</strong> (SubscriberBean) subscribersMap.get(subscriberName);
<a name="411" href="#411">411</a> 	}
<a name="412" href="#412">412</a> 	
<a name="413" href="#413">413</a> 	<strong>public</strong> <a href="../../../../org/apache/savan/subscribers/AbstractSubscriber.html">AbstractSubscriber</a> getSubscriberInstance (String subscriberName) throws SavanException {
<a name="414" href="#414">414</a> 		SubscriberBean subscriberBean = (SubscriberBean) subscribersMap.get(subscriberName);
<a name="415" href="#415">415</a> 		<strong>if</strong> (subscriberBean==<strong>null</strong>) {
<a name="416" href="#416">416</a> 			String message = <span class="string">"A subscriber with the name '"</span> + subscriberName + <span class="string">"' was not found."</span>;
<a name="417" href="#417">417</a> 			<strong>throw</strong> <strong>new</strong> <a href="../../../../org/apache/savan/SavanException.html">SavanException</a> (message);
<a name="418" href="#418">418</a> 		}
<a name="419" href="#419">419</a> 		
<a name="420" href="#420">420</a> 		<strong>return</strong> (AbstractSubscriber) getObject(subscriberBean.getClazz());
<a name="421" href="#421">421</a> 	}
<a name="422" href="#422">422</a> 	
<a name="423" href="#423">423</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

