<!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>SavanModule xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/savan/module/SavanModule.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.module;
<a name="19" href="#19">19</a>  
<a name="20" href="#20">20</a>  <strong>import</strong> org.apache.axis2.AxisFault;
<a name="21" href="#21">21</a>  <strong>import</strong> org.apache.axis2.context.ConfigurationContext;
<a name="22" href="#22">22</a>  <strong>import</strong> org.apache.axis2.description.AxisDescription;
<a name="23" href="#23">23</a>  <strong>import</strong> org.apache.axis2.description.AxisModule;
<a name="24" href="#24">24</a>  <strong>import</strong> org.apache.axis2.description.AxisService;
<a name="25" href="#25">25</a>  <strong>import</strong> org.apache.axis2.description.Parameter;
<a name="26" href="#26">26</a>  <strong>import</strong> org.apache.axis2.modules.Module;
<a name="27" href="#27">27</a>  <strong>import</strong> org.apache.commons.logging.Log;
<a name="28" href="#28">28</a>  <strong>import</strong> org.apache.commons.logging.LogFactory;
<a name="29" href="#29">29</a>  <strong>import</strong> org.apache.neethi.Assertion;
<a name="30" href="#30">30</a>  <strong>import</strong> org.apache.neethi.Policy;
<a name="31" href="#31">31</a>  <strong>import</strong> org.apache.savan.SavanConstants;
<a name="32" href="#32">32</a>  <strong>import</strong> org.apache.savan.SavanException;
<a name="33" href="#33">33</a>  <strong>import</strong> org.apache.savan.configuration.ConfigurationManager;
<a name="34" href="#34">34</a>  <strong>import</strong> org.apache.savan.storage.SubscriberStore;
<a name="35" href="#35">35</a>  
<a name="36" href="#36">36</a>  <em>/**<em>*</em></em>
<a name="37" href="#37">37</a>  <em> * Savan Module class. </em>
<a name="38" href="#38">38</a>  <em> *</em>
<a name="39" href="#39">39</a>  <em> */</em>
<a name="40" href="#40">40</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/savan/module/SavanModule.html">SavanModule</a> implements Module  {
<a name="41" href="#41">41</a>  
<a name="42" href="#42">42</a>  	<strong>private</strong> <strong>static</strong> <strong>final</strong> Log log = LogFactory.getLog(SavanModule.<strong>class</strong>);
<a name="43" href="#43">43</a>  	
<a name="44" href="#44">44</a>  	<strong>public</strong> <strong>void</strong> engageNotify(AxisDescription axisDescription) throws AxisFault {
<a name="45" href="#45">45</a>  		<em class="comment">//adding a subscriber store to the description</em>
<a name="46" href="#46">46</a>  		
<a name="47" href="#47">47</a>  		<strong>if</strong> (axisDescription instanceof AxisService) { <em class="comment">//TODO remove this restriction</em>
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>  			<em class="comment">//TODO set a suitable SubscriberStore for the service.</em>
<a name="50" href="#50">50</a>  			
<a name="51" href="#51">51</a>  		}
<a name="52" href="#52">52</a>  		
<a name="53" href="#53">53</a>  	}
<a name="54" href="#54">54</a>  
<a name="55" href="#55">55</a>  	<strong>public</strong> <strong>void</strong> init(ConfigurationContext configContext, AxisModule module) throws AxisFault {
<a name="56" href="#56">56</a>  		ConfigurationManager configurationManager = <strong>new</strong> <a href="../../../../org/apache/savan/configuration/ConfigurationManager.html">ConfigurationManager</a> ();
<a name="57" href="#57">57</a>  		<strong>try</strong> {
<a name="58" href="#58">58</a>  			ClassLoader moduleClassLoader = module.getModuleClassLoader();
<a name="59" href="#59">59</a>  			configurationManager.configure(moduleClassLoader);
<a name="60" href="#60">60</a>  		} <strong>catch</strong> (SavanException e) {
<a name="61" href="#61">61</a>  			log.error (<span class="string">"Exception thrown while trying to configure the Savan module"</span>,e);
<a name="62" href="#62">62</a>  		}
<a name="63" href="#63">63</a>  		
<a name="64" href="#64">64</a>  		configContext.setProperty(SavanConstants.CONFIGURATION_MANAGER,configurationManager);
<a name="65" href="#65">65</a>  	}
<a name="66" href="#66">66</a>  
<a name="67" href="#67">67</a>  	<strong>public</strong> <strong>void</strong> shutdown(ConfigurationContext configurationContext) throws AxisFault {
<a name="68" href="#68">68</a>  	}
<a name="69" href="#69">69</a>  
<a name="70" href="#70">70</a>      <strong>public</strong> <strong>void</strong> applyPolicy(Policy policy, AxisDescription axisDescription) throws AxisFault {
<a name="71" href="#71">71</a>          <em class="comment">// TODO</em>
<a name="72" href="#72">72</a>      }
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>      <strong>public</strong> <strong>boolean</strong> canSupportAssertion(Assertion assertion) {
<a name="75" href="#75">75</a>          <em class="comment">// TODO </em>
<a name="76" href="#76">76</a>          <strong>return</strong> <strong>true</strong>;
<a name="77" href="#77">77</a>      }
<a name="78" href="#78">78</a>      
<a name="79" href="#79">79</a>      
<a name="80" href="#80">80</a>  
<a name="81" href="#81">81</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

