<!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>ZeroConfSupport xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/ZeroConfSupport.html">View Javadoc</a></div><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 or more</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * the License.  You may obtain a copy of the License at</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *</em>
<a name="9" href="#9">9</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="10" href="#10">10</a>  <em class="jxr_comment"> *</em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * limitations under the License.</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> */</em>
<a name="17" href="#17">17</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j.net;
<a name="18" href="#18">18</a>  
<a name="19" href="#19">19</a>  <strong class="jxr_keyword">import</strong> java.lang.reflect.Constructor;
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">import</strong> java.lang.reflect.InvocationTargetException;
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.lang.reflect.Method;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Hashtable;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/ZeroConfSupport.html">ZeroConfSupport</a> {
<a name="29" href="#29">29</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Object jmDNS = initializeJMDNS();
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>      Object serviceInfo;
<a name="32" href="#32">32</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Class jmDNSClass;
<a name="33" href="#33">33</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Class serviceInfoClass;
<a name="34" href="#34">34</a>  
<a name="35" href="#35">35</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/ZeroConfSupport.html">ZeroConfSupport</a>(String zone, <strong class="jxr_keyword">int</strong> port, String name, Map properties) {
<a name="36" href="#36">36</a>          <em class="jxr_comment">//if version 3 is available, use it to constuct a serviceInfo instance, otherwise support the version1 API</em>
<a name="37" href="#37">37</a>          <strong class="jxr_keyword">boolean</strong> isVersion3 = false;
<a name="38" href="#38">38</a>          <strong class="jxr_keyword">try</strong> {
<a name="39" href="#39">39</a>              <em class="jxr_comment">//create method is in version 3, not version 1</em>
<a name="40" href="#40">40</a>              jmDNSClass.getMethod(<span class="jxr_string">"create"</span>, <strong class="jxr_keyword">null</strong>);
<a name="41" href="#41">41</a>              isVersion3 = <strong class="jxr_keyword">true</strong>;
<a name="42" href="#42">42</a>          } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) {
<a name="43" href="#43">43</a>              <em class="jxr_comment">//no-op</em>
<a name="44" href="#44">44</a>          }
<a name="45" href="#45">45</a>  
<a name="46" href="#46">46</a>          <strong class="jxr_keyword">if</strong> (isVersion3) {
<a name="47" href="#47">47</a>              LogLog.debug(<span class="jxr_string">"using JmDNS version 3 to construct serviceInfo instance"</span>);
<a name="48" href="#48">48</a>              serviceInfo = buildServiceInfoVersion3(zone, port, name, properties);
<a name="49" href="#49">49</a>          } <strong class="jxr_keyword">else</strong> {
<a name="50" href="#50">50</a>              LogLog.debug(<span class="jxr_string">"using JmDNS version 1.0 to construct serviceInfo instance"</span>);
<a name="51" href="#51">51</a>              serviceInfo = buildServiceInfoVersion1(zone, port, name, properties);
<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 class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/ZeroConfSupport.html">ZeroConfSupport</a>(String zone, <strong class="jxr_keyword">int</strong> port, String name) {
<a name="56" href="#56">56</a>          <strong class="jxr_keyword">this</strong>(zone, port, name, <strong class="jxr_keyword">new</strong> HashMap());
<a name="57" href="#57">57</a>      }
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Object createJmDNSVersion1()
<a name="60" href="#60">60</a>      {
<a name="61" href="#61">61</a>          <strong class="jxr_keyword">try</strong> {
<a name="62" href="#62">62</a>              <strong class="jxr_keyword">return</strong> jmDNSClass.newInstance();
<a name="63" href="#63">63</a>          } <strong class="jxr_keyword">catch</strong> (InstantiationException e) {
<a name="64" href="#64">64</a>              LogLog.warn(<span class="jxr_string">"Unable to instantiate JMDNS"</span>, e);
<a name="65" href="#65">65</a>          } <strong class="jxr_keyword">catch</strong> (IllegalAccessException e) {
<a name="66" href="#66">66</a>              LogLog.warn(<span class="jxr_string">"Unable to instantiate JMDNS"</span>, e);
<a name="67" href="#67">67</a>          }
<a name="68" href="#68">68</a>          <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="69" href="#69">69</a>      }
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Object createJmDNSVersion3()
<a name="72" href="#72">72</a>      {
<a name="73" href="#73">73</a>          <strong class="jxr_keyword">try</strong> {
<a name="74" href="#74">74</a>              Method jmDNSCreateMethod = jmDNSClass.getMethod(<span class="jxr_string">"create"</span>, <strong class="jxr_keyword">null</strong>);
<a name="75" href="#75">75</a>              <strong class="jxr_keyword">return</strong> jmDNSCreateMethod.invoke(<strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a name="76" href="#76">76</a>          } <strong class="jxr_keyword">catch</strong> (IllegalAccessException e) {
<a name="77" href="#77">77</a>              LogLog.warn(<span class="jxr_string">"Unable to instantiate jmdns class"</span>, e);
<a name="78" href="#78">78</a>          } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) {
<a name="79" href="#79">79</a>              LogLog.warn(<span class="jxr_string">"Unable to access constructor"</span>, e);
<a name="80" href="#80">80</a>          } <strong class="jxr_keyword">catch</strong> (InvocationTargetException e) {
<a name="81" href="#81">81</a>                  LogLog.warn(<span class="jxr_string">"Unable to call constructor"</span>, e);
<a name="82" href="#82">82</a>          }
<a name="83" href="#83">83</a>          <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="84" href="#84">84</a>      }
<a name="85" href="#85">85</a>  
<a name="86" href="#86">86</a>      <strong class="jxr_keyword">private</strong> Object buildServiceInfoVersion1(String zone, <strong class="jxr_keyword">int</strong> port, String name, Map properties) {
<a name="87" href="#87">87</a>          <em class="jxr_comment">//version 1 uses a hashtable</em>
<a name="88" href="#88">88</a>          Hashtable hashtableProperties = <strong class="jxr_keyword">new</strong> Hashtable(properties);
<a name="89" href="#89">89</a>          <strong class="jxr_keyword">try</strong> {
<a name="90" href="#90">90</a>              Class[] args = <strong class="jxr_keyword">new</strong> Class[6];
<a name="91" href="#91">91</a>              args[0] = String.<strong class="jxr_keyword">class</strong>;
<a name="92" href="#92">92</a>              args[1] = String.<strong class="jxr_keyword">class</strong>;
<a name="93" href="#93">93</a>              args[2] = <strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>;
<a name="94" href="#94">94</a>              args[3] = <strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//weight (0)</em>
<a name="95" href="#95">95</a>              args[4] = <strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//priority (0)</em>
<a name="96" href="#96">96</a>              args[5] = Hashtable.<strong class="jxr_keyword">class</strong>;
<a name="97" href="#97">97</a>              Constructor constructor  = serviceInfoClass.getConstructor(args);
<a name="98" href="#98">98</a>              Object[] values = <strong class="jxr_keyword">new</strong> Object[6];
<a name="99" href="#99">99</a>              values[0] = zone;
<a name="100" href="#100">100</a>             values[1] = name;
<a name="101" href="#101">101</a>             values[2] = <strong class="jxr_keyword">new</strong> Integer(port);
<a name="102" href="#102">102</a>             values[3] = <strong class="jxr_keyword">new</strong> Integer(0);
<a name="103" href="#103">103</a>             values[4] = <strong class="jxr_keyword">new</strong> Integer(0);
<a name="104" href="#104">104</a>             values[5] = hashtableProperties;
<a name="105" href="#105">105</a>             Object result = constructor.newInstance(values);
<a name="106" href="#106">106</a>             LogLog.debug(<span class="jxr_string">"created serviceinfo: "</span> + result);
<a name="107" href="#107">107</a>             <strong class="jxr_keyword">return</strong> result;
<a name="108" href="#108">108</a>         } <strong class="jxr_keyword">catch</strong> (IllegalAccessException e) {
<a name="109" href="#109">109</a>             LogLog.warn(<span class="jxr_string">"Unable to construct ServiceInfo instance"</span>, e);
<a name="110" href="#110">110</a>         } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) {
<a name="111" href="#111">111</a>             LogLog.warn(<span class="jxr_string">"Unable to get ServiceInfo constructor"</span>, e);
<a name="112" href="#112">112</a>         } <strong class="jxr_keyword">catch</strong> (InstantiationException e) {
<a name="113" href="#113">113</a>             LogLog.warn(<span class="jxr_string">"Unable to construct ServiceInfo instance"</span>, e);
<a name="114" href="#114">114</a>         } <strong class="jxr_keyword">catch</strong> (InvocationTargetException e) {
<a name="115" href="#115">115</a>             LogLog.warn(<span class="jxr_string">"Unable to construct ServiceInfo instance"</span>, e);
<a name="116" href="#116">116</a>         }
<a name="117" href="#117">117</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="118" href="#118">118</a>     }
<a name="119" href="#119">119</a> 
<a name="120" href="#120">120</a>     <strong class="jxr_keyword">private</strong> Object buildServiceInfoVersion3(String zone, <strong class="jxr_keyword">int</strong> port, String name, Map properties) {
<a name="121" href="#121">121</a>         <strong class="jxr_keyword">try</strong> {
<a name="122" href="#122">122</a>             Class[] args = <strong class="jxr_keyword">new</strong> Class[6];
<a name="123" href="#123">123</a>             args[0] = String.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//zone/type</em>
<a name="124" href="#124">124</a>             args[1] = String.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//display name</em>
<a name="125" href="#125">125</a>             args[2] = <strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//port</em>
<a name="126" href="#126">126</a>             args[3] = <strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//weight (0)</em>
<a name="127" href="#127">127</a>             args[4] = <strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//priority (0)</em>
<a name="128" href="#128">128</a>             args[5] = Map.<strong class="jxr_keyword">class</strong>;
<a name="129" href="#129">129</a>             Method serviceInfoCreateMethod = serviceInfoClass.getMethod(<span class="jxr_string">"create"</span>, args);
<a name="130" href="#130">130</a>             Object[] values = <strong class="jxr_keyword">new</strong> Object[6];
<a name="131" href="#131">131</a>             values[0] = zone;
<a name="132" href="#132">132</a>             values[1] = name;
<a name="133" href="#133">133</a>             values[2] = <strong class="jxr_keyword">new</strong> Integer(port);
<a name="134" href="#134">134</a>             values[3] = <strong class="jxr_keyword">new</strong> Integer(0);
<a name="135" href="#135">135</a>             values[4] = <strong class="jxr_keyword">new</strong> Integer(0);
<a name="136" href="#136">136</a>             values[5] = properties;
<a name="137" href="#137">137</a>             Object result = serviceInfoCreateMethod.invoke(<strong class="jxr_keyword">null</strong>, values);
<a name="138" href="#138">138</a>             LogLog.debug(<span class="jxr_string">"created serviceinfo: "</span> + result);
<a name="139" href="#139">139</a>             <strong class="jxr_keyword">return</strong> result;
<a name="140" href="#140">140</a>         } <strong class="jxr_keyword">catch</strong> (IllegalAccessException e) {
<a name="141" href="#141">141</a>             LogLog.warn(<span class="jxr_string">"Unable to invoke create method"</span>, e);
<a name="142" href="#142">142</a>         } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) {
<a name="143" href="#143">143</a>             LogLog.warn(<span class="jxr_string">"Unable to find create method"</span>, e);
<a name="144" href="#144">144</a>         } <strong class="jxr_keyword">catch</strong> (InvocationTargetException e) {
<a name="145" href="#145">145</a>                 LogLog.warn(<span class="jxr_string">"Unable to invoke create method"</span>, e);
<a name="146" href="#146">146</a>         }
<a name="147" href="#147">147</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="148" href="#148">148</a>     }
<a name="149" href="#149">149</a> 
<a name="150" href="#150">150</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> advertise() {
<a name="151" href="#151">151</a>         <strong class="jxr_keyword">try</strong> {
<a name="152" href="#152">152</a>             Method method = jmDNSClass.getMethod(<span class="jxr_string">"registerService"</span>, <strong class="jxr_keyword">new</strong> Class[]{serviceInfoClass});
<a name="153" href="#153">153</a>             method.invoke(jmDNS, <strong class="jxr_keyword">new</strong> Object[]{serviceInfo});
<a name="154" href="#154">154</a>             LogLog.debug(<span class="jxr_string">"registered serviceInfo: "</span> + serviceInfo);
<a name="155" href="#155">155</a>         } <strong class="jxr_keyword">catch</strong>(IllegalAccessException e) {
<a name="156" href="#156">156</a>             LogLog.warn(<span class="jxr_string">"Unable to invoke registerService method"</span>, e);
<a name="157" href="#157">157</a>         } <strong class="jxr_keyword">catch</strong>(NoSuchMethodException e) {
<a name="158" href="#158">158</a>             LogLog.warn(<span class="jxr_string">"No registerService method"</span>, e);
<a name="159" href="#159">159</a>         } <strong class="jxr_keyword">catch</strong>(InvocationTargetException e) {
<a name="160" href="#160">160</a>             LogLog.warn(<span class="jxr_string">"Unable to invoke registerService method"</span>, e);
<a name="161" href="#161">161</a>         }
<a name="162" href="#162">162</a>     }
<a name="163" href="#163">163</a> 
<a name="164" href="#164">164</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> unadvertise() {
<a name="165" href="#165">165</a>         <strong class="jxr_keyword">try</strong> {
<a name="166" href="#166">166</a>             Method method = jmDNSClass.getMethod(<span class="jxr_string">"unregisterService"</span>, <strong class="jxr_keyword">new</strong> Class[]{serviceInfoClass});
<a name="167" href="#167">167</a>             method.invoke(jmDNS, <strong class="jxr_keyword">new</strong> Object[]{serviceInfo});
<a name="168" href="#168">168</a>             LogLog.debug(<span class="jxr_string">"unregistered serviceInfo: "</span> + serviceInfo);
<a name="169" href="#169">169</a>         } <strong class="jxr_keyword">catch</strong>(IllegalAccessException e) {
<a name="170" href="#170">170</a>             LogLog.warn(<span class="jxr_string">"Unable to invoke unregisterService method"</span>, e);
<a name="171" href="#171">171</a>         } <strong class="jxr_keyword">catch</strong>(NoSuchMethodException e) {
<a name="172" href="#172">172</a>             LogLog.warn(<span class="jxr_string">"No unregisterService method"</span>, e);
<a name="173" href="#173">173</a>         } <strong class="jxr_keyword">catch</strong>(InvocationTargetException e) {
<a name="174" href="#174">174</a>             LogLog.warn(<span class="jxr_string">"Unable to invoke unregisterService method"</span>, e);
<a name="175" href="#175">175</a>        }
<a name="176" href="#176">176</a>     }
<a name="177" href="#177">177</a> 
<a name="178" href="#178">178</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Object initializeJMDNS() {
<a name="179" href="#179">179</a>         <strong class="jxr_keyword">try</strong> {
<a name="180" href="#180">180</a>             jmDNSClass = Class.forName(<span class="jxr_string">"javax.jmdns.JmDNS"</span>);
<a name="181" href="#181">181</a>             serviceInfoClass = Class.forName(<span class="jxr_string">"javax.jmdns.ServiceInfo"</span>);
<a name="182" href="#182">182</a>         } <strong class="jxr_keyword">catch</strong> (ClassNotFoundException e) {
<a name="183" href="#183">183</a>             LogLog.warn(<span class="jxr_string">"JmDNS or serviceInfo class not found"</span>, e);
<a name="184" href="#184">184</a>         }
<a name="185" href="#185">185</a> 
<a name="186" href="#186">186</a>         <em class="jxr_comment">//if version 3 is available, use it to constuct a serviceInfo instance, otherwise support the version1 API</em>
<a name="187" href="#187">187</a>         <strong class="jxr_keyword">boolean</strong> isVersion3 = false;
<a name="188" href="#188">188</a>         <strong class="jxr_keyword">try</strong> {
<a name="189" href="#189">189</a>             <em class="jxr_comment">//create method is in version 3, not version 1</em>
<a name="190" href="#190">190</a>             jmDNSClass.getMethod(<span class="jxr_string">"create"</span>, <strong class="jxr_keyword">null</strong>);
<a name="191" href="#191">191</a>             isVersion3 = <strong class="jxr_keyword">true</strong>;
<a name="192" href="#192">192</a>         } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) {
<a name="193" href="#193">193</a>             <em class="jxr_comment">//no-op</em>
<a name="194" href="#194">194</a>         }
<a name="195" href="#195">195</a> 
<a name="196" href="#196">196</a>         <strong class="jxr_keyword">if</strong> (isVersion3) {
<a name="197" href="#197">197</a>             <strong class="jxr_keyword">return</strong> createJmDNSVersion3();
<a name="198" href="#198">198</a>         } <strong class="jxr_keyword">else</strong> {
<a name="199" href="#199">199</a>             <strong class="jxr_keyword">return</strong> createJmDNSVersion1();
<a name="200" href="#200">200</a>         }
<a name="201" href="#201">201</a>     }
<a name="202" href="#202">202</a> 
<a name="203" href="#203">203</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Object getJMDNSInstance() {
<a name="204" href="#204">204</a>         <strong class="jxr_keyword">return</strong> jmDNS;
<a name="205" href="#205">205</a>     }
<a name="206" href="#206">206</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

