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

<a name="1" href="#1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.dvsl;
<a name="2" href="#2">2</a>   
<a name="3" href="#3">3</a>   <em class="jxr_comment">/*</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</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="13" href="#13">13</a>  <em class="jxr_comment"> *</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> * under the License.</em>
<a name="20" href="#20">20</a>  <em class="jxr_comment"> */</em>
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.File;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.io.FileInputStream;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.io.FileReader;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.io.FileWriter;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.InputStream;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.io.InputStreamReader;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.io.OutputStreamWriter;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.io.Reader;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.io.StringWriter;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.io.Writer;
<a name="32" href="#32">32</a>  
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> java.util.Enumeration;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.VelocityContext;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.app.VelocityEngine;
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.context.Context;
<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.runtime.log.LogChute;
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.runtime.log.LogChuteSystem;
<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.runtime.log.LogSystem;
<a name="44" href="#44">44</a>  
<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.dom4j.Document;
<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.dom4j.io.SAXReader;
<a name="47" href="#47">47</a>  
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment">/**</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> *  Main DVSL class - use this as the helper class for apps</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> *</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> *  @author &lt;a href="<a href="mailto:geirm@apache.org" target="alexandria_uri">mailto:geirm@apache.org</a>"&gt;Geir Magnusson Jr.&lt;/a&gt;</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> *  @author &lt;a href="<a href="mailto:billb@progress.com" target="alexandria_uri">mailto:billb@progress.com</a>"&gt;Bill Burton.&lt;/a&gt;</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> */</em>
<a name="54" href="#54">54</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/dvsl/DVSL.html">DVSL</a>
<a name="55" href="#55">55</a>  {
<a name="56" href="#56">56</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String TOOL_PROP_PREFIX = <span class="jxr_string">"toolbox.tool."</span>;
<a name="57" href="#57">57</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String STRING_PROP_PREFIX = <span class="jxr_string">"toolbox.string."</span>;
<a name="58" href="#58">58</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String INTEGER_PROP_PREFIX = <span class="jxr_string">"toolbox.integer."</span>;
<a name="59" href="#59">59</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String TOOLBOX_NAME = <span class="jxr_string">"toolbox.contextname."</span>;
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>      <strong class="jxr_keyword">private</strong> VelocityEngine ve = <strong class="jxr_keyword">null</strong>;
<a name="62" href="#62">62</a>      <strong class="jxr_keyword">private</strong> Document currentDocument = <strong class="jxr_keyword">null</strong>;
<a name="63" href="#63">63</a>      <strong class="jxr_keyword">private</strong> Writer currentWriter = <strong class="jxr_keyword">null</strong>;
<a name="64" href="#64">64</a>      <strong class="jxr_keyword">private</strong> Context toolContext;
<a name="65" href="#65">65</a>      <strong class="jxr_keyword">private</strong> Context userContext;
<a name="66" href="#66">66</a>      <strong class="jxr_keyword">private</strong> Context styleContext;
<a name="67" href="#67">67</a>      <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/dvsl/DVSLContext.html">DVSLContext</a> baseContext = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/dvsl/DVSLContext.html">DVSLContext</a>();
<a name="68" href="#68">68</a>      <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/dvsl/Transformer.html">Transformer</a> transformer;
<a name="69" href="#69">69</a>      <strong class="jxr_keyword">private</strong> ClassLoader classLoader;
<a name="70" href="#70">70</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> ready = false;
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>      <strong class="jxr_keyword">private</strong> Map velConfig = <strong class="jxr_keyword">null</strong>;
<a name="73" href="#73">73</a>      <strong class="jxr_keyword">private</strong> File logFile;
<a name="74" href="#74">74</a>      <strong class="jxr_keyword">private</strong> LogChute logger;
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>      <strong class="jxr_keyword">private</strong> Map appVals = <strong class="jxr_keyword">new</strong> HashMap();
<a name="77" href="#77">77</a>  
<a name="78" href="#78">78</a>      <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/dvsl/TemplateHandler.html">TemplateHandler</a> templateHandler = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/dvsl/TemplateHandler.html">TemplateHandler</a>();
<a name="79" href="#79">79</a>  
<a name="80" href="#80">80</a>      <strong class="jxr_keyword">boolean</strong> validate = false;
<a name="81" href="#81">81</a>  
<a name="82" href="#82">82</a>      <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/dvsl/DVSL.html">DVSL</a>()
<a name="83" href="#83">83</a>      {
<a name="84" href="#84">84</a>          classLoader = DVSL.<strong class="jxr_keyword">class</strong>.getClassLoader();
<a name="85" href="#85">85</a>      }
<a name="86" href="#86">86</a>  
<a name="87" href="#87">87</a>      <em class="jxr_javadoccomment">/**</em>
<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     *  lets the user specify a filename for logging.</em>
<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment">     */</em>
<a name="92" href="#92">92</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLogFile(File logFile)
<a name="93" href="#93">93</a>      {
<a name="94" href="#94">94</a>          <strong class="jxr_keyword">this</strong>.logFile = logFile;
<a name="95" href="#95">95</a>  
<a name="96" href="#96">96</a>          <strong class="jxr_keyword">if</strong> (velConfig == <strong class="jxr_keyword">null</strong>)
<a name="97" href="#97">97</a>          {
<a name="98" href="#98">98</a>              velConfig = <strong class="jxr_keyword">new</strong> HashMap();
<a name="99" href="#99">99</a>          }
<a name="100" href="#100">100</a> 
<a name="101" href="#101">101</a>         velConfig.put(VelocityEngine.RUNTIME_LOG, logFile.getAbsolutePath());
<a name="102" href="#102">102</a>     }
<a name="103" href="#103">103</a> 
<a name="104" href="#104">104</a>     <em class="jxr_javadoccomment">/**</em>
<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     *  lets the user specify a class instance for logging.</em>
<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">     * @deprecated use setLogChute instead</em>
<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">     */</em>
<a name="110" href="#110">110</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLogSystem(LogSystem logger)
<a name="111" href="#111">111</a>     {
<a name="112" href="#112">112</a>         <strong class="jxr_keyword">this</strong>.logger = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/dvsl/DVSL.html">LogAdapter</a>(logger);
<a name="113" href="#113">113</a> 
<a name="114" href="#114">114</a>         <strong class="jxr_keyword">if</strong> (velConfig == <strong class="jxr_keyword">null</strong>)
<a name="115" href="#115">115</a>         {
<a name="116" href="#116">116</a>             velConfig = <strong class="jxr_keyword">new</strong> HashMap();
<a name="117" href="#117">117</a>         }
<a name="118" href="#118">118</a> 
<a name="119" href="#119">119</a>         velConfig.put(VelocityEngine.RUNTIME_LOG_LOGSYSTEM, logger);
<a name="120" href="#120">120</a>     }
<a name="121" href="#121">121</a> 
<a name="122" href="#122">122</a>     <em class="jxr_javadoccomment">/**</em>
<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">     *  lets the user specify a class instance for logging.</em>
<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">     */</em>
<a name="127" href="#127">127</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLogChute(LogChute logger)
<a name="128" href="#128">128</a>     {
<a name="129" href="#129">129</a>         <strong class="jxr_keyword">this</strong>.logger = logger;
<a name="130" href="#130">130</a> 
<a name="131" href="#131">131</a>         <strong class="jxr_keyword">if</strong> (velConfig == <strong class="jxr_keyword">null</strong>)
<a name="132" href="#132">132</a>         {
<a name="133" href="#133">133</a>             velConfig = <strong class="jxr_keyword">new</strong> HashMap();
<a name="134" href="#134">134</a>         }
<a name="135" href="#135">135</a> 
<a name="136" href="#136">136</a>         velConfig.put(VelocityEngine.RUNTIME_LOG_LOGSYSTEM, logger);
<a name="137" href="#137">137</a>     }
<a name="138" href="#138">138</a> 
<a name="139" href="#139">139</a> 
<a name="140" href="#140">140</a>     <em class="jxr_javadoccomment">/**</em>
<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">     *  lets the user pass a java.util.Properties containing</em>
<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">     *  properties for the configuration of the VelocityEngine</em>
<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">     *  used by DVSL</em>
<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">     */</em>
<a name="147" href="#147">147</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setVelocityConfig(Map map)
<a name="148" href="#148">148</a>     {
<a name="149" href="#149">149</a>         <strong class="jxr_keyword">if</strong> (velConfig != <strong class="jxr_keyword">null</strong>)
<a name="150" href="#150">150</a>         {
<a name="151" href="#151">151</a>             map.putAll(velConfig);
<a name="152" href="#152">152</a>         }
<a name="153" href="#153">153</a> 
<a name="154" href="#154">154</a>         velConfig = map;
<a name="155" href="#155">155</a>     }
<a name="156" href="#156">156</a> 
<a name="157" href="#157">157</a>     <em class="jxr_javadoccomment">/**</em>
<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">     *  Sets the user context.  The user context is</em>
<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">     *  a Velocity Context containing user-supplied</em>
<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">     *  objects and data that are to be made available</em>
<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">     *  in the template</em>
<a name="163" href="#163">163</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">     *</em>
<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">     *  @param ctx User context of data</em>
<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">     */</em>
<a name="167" href="#167">167</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUserContext(Context ctx)
<a name="168" href="#168">168</a>     {
<a name="169" href="#169">169</a>         ready = false;
<a name="170" href="#170">170</a>         userContext = ctx;
<a name="171" href="#171">171</a>     }
<a name="172" href="#172">172</a> 
<a name="173" href="#173">173</a>     <em class="jxr_javadoccomment">/**</em>
<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     * &lt;p&gt;</em>
<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     *  Uses a validating parser on all input documents</em>
<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     * &lt;/p&gt;</em>
<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">     *</em>
<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">     * @param validate</em>
<a name="179" href="#179">179</a> <em class="jxr_javadoccomment">     */</em>
<a name="180" href="#180">180</a> 
<a name="181" href="#181">181</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setValidatingParser(<strong class="jxr_keyword">boolean</strong> validate)
<a name="182" href="#182">182</a>     {
<a name="183" href="#183">183</a>         <strong class="jxr_keyword">this</strong>.validate = validate;
<a name="184" href="#184">184</a>     }
<a name="185" href="#185">185</a> 
<a name="186" href="#186">186</a>     <em class="jxr_javadoccomment">/**</em>
<a name="187" href="#187">187</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">     *  Specify a classloader for loading the Toolbox classes.  Setting to null</em>
<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">     *  resets to the default ClassLoader.</em>
<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="191" href="#191">191</a> <em class="jxr_javadoccomment">     *</em>
<a name="192" href="#192">192</a> <em class="jxr_javadoccomment">     *  @param classLoader ClassLoader or null for default ClassLoader</em>
<a name="193" href="#193">193</a> <em class="jxr_javadoccomment">     */</em>
<a name="194" href="#194">194</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setClassLoader(ClassLoader classLoader)
<a name="195" href="#195">195</a>     {
<a name="196" href="#196">196</a>         <strong class="jxr_keyword">if</strong> (classLoader == <strong class="jxr_keyword">null</strong>)
<a name="197" href="#197">197</a>         {
<a name="198" href="#198">198</a>             <strong class="jxr_keyword">this</strong>.classLoader = <strong class="jxr_keyword">this</strong>.getClass().getClassLoader();
<a name="199" href="#199">199</a>         }
<a name="200" href="#200">200</a>         <strong class="jxr_keyword">else</strong>
<a name="201" href="#201">201</a>         {
<a name="202" href="#202">202</a>             <strong class="jxr_keyword">this</strong>.classLoader = classLoader;
<a name="203" href="#203">203</a>         }
<a name="204" href="#204">204</a>     }
<a name="205" href="#205">205</a> 
<a name="206" href="#206">206</a>     <em class="jxr_javadoccomment">/**</em>
<a name="207" href="#207">207</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="208" href="#208">208</a> <em class="jxr_javadoccomment">     *  Loads the toolbox from the input Properties.</em>
<a name="209" href="#209">209</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="210" href="#210">210</a> <em class="jxr_javadoccomment">     *</em>
<a name="211" href="#211">211</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="212" href="#212">212</a> <em class="jxr_javadoccomment">     *  Currently supports specification of the Toolbox</em>
<a name="213" href="#213">213</a> <em class="jxr_javadoccomment">     *  name in the context, creating classes, and string</em>
<a name="214" href="#214">214</a> <em class="jxr_javadoccomment">     *  and integer values.  Ex :</em>
<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="216" href="#216">216</a> <em class="jxr_javadoccomment">     *</em>
<a name="217" href="#217">217</a> <em class="jxr_javadoccomment">     *  &lt;pre&gt;</em>
<a name="218" href="#218">218</a> <em class="jxr_javadoccomment">     *  toolbox.contextname = floyd</em>
<a name="219" href="#219">219</a> <em class="jxr_javadoccomment">     *  toolbox.tool.footool = Footool</em>
<a name="220" href="#220">220</a> <em class="jxr_javadoccomment">     *  toolbox.string.mystring = Hello there!</em>
<a name="221" href="#221">221</a> <em class="jxr_javadoccomment">     *  toolbox.integer.myint = 7</em>
<a name="222" href="#222">222</a> <em class="jxr_javadoccomment">     *  toolbox.string.sourcebase = ./xdocs/</em>
<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">     *  &lt;/pre&gt;</em>
<a name="224" href="#224">224</a> <em class="jxr_javadoccomment">     *</em>
<a name="225" href="#225">225</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="226" href="#226">226</a> <em class="jxr_javadoccomment">     *  So in template, this toolbox and it's values would</em>
<a name="227" href="#227">227</a> <em class="jxr_javadoccomment">     *  be accessed as :</em>
<a name="228" href="#228">228</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="229" href="#229">229</a> <em class="jxr_javadoccomment">     *  &lt;pre&gt;</em>
<a name="230" href="#230">230</a> <em class="jxr_javadoccomment">     *    $context.floyd.footool.getFoo()</em>
<a name="231" href="#231">231</a> <em class="jxr_javadoccomment">     *    $context.floyd.mystring</em>
<a name="232" href="#232">232</a> <em class="jxr_javadoccomment">     *    $context.floyd.myint</em>
<a name="233" href="#233">233</a> <em class="jxr_javadoccomment">     *  &lt;/pre&gt;</em>
<a name="234" href="#234">234</a> <em class="jxr_javadoccomment">     */</em>
<a name="235" href="#235">235</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setToolbox(Properties p)
<a name="236" href="#236">236</a>         <strong class="jxr_keyword">throws</strong> ClassNotFoundException, InstantiationException, IllegalAccessException
<a name="237" href="#237">237</a>     {
<a name="238" href="#238">238</a>         ready = false;
<a name="239" href="#239">239</a> 
<a name="240" href="#240">240</a>         <em class="jxr_comment">/*</em>
<a name="241" href="#241">241</a> <em class="jxr_comment">         *  for each key that looks like</em>
<a name="242" href="#242">242</a> <em class="jxr_comment">         *     toolbox.tool.&lt;token&gt; = class</em>
<a name="243" href="#243">243</a> <em class="jxr_comment">         */</em>
<a name="244" href="#244">244</a> 
<a name="245" href="#245">245</a>         Map toolbox = <strong class="jxr_keyword">new</strong> HashMap();
<a name="246" href="#246">246</a> 
<a name="247" href="#247">247</a>         String toolboxname = <span class="jxr_string">"toolbox"</span>;
<a name="248" href="#248">248</a> 
<a name="249" href="#249">249</a>         <strong class="jxr_keyword">for</strong> (Enumeration e = p.propertyNames(); e.hasMoreElements(); )
<a name="250" href="#250">250</a>         {
<a name="251" href="#251">251</a>             String key = (String) e.nextElement();
<a name="252" href="#252">252</a> 
<a name="253" href="#253">253</a>             String value = p.getProperty(key);
<a name="254" href="#254">254</a> 
<a name="255" href="#255">255</a>             <strong class="jxr_keyword">if</strong> (key.startsWith(TOOL_PROP_PREFIX))
<a name="256" href="#256">256</a>             {
<a name="257" href="#257">257</a>                 String toolname = key.substring(TOOL_PROP_PREFIX.length());
<a name="258" href="#258">258</a> 
<a name="259" href="#259">259</a>                 Object o = Class.forName(value, <strong class="jxr_keyword">true</strong>, classLoader).newInstance();
<a name="260" href="#260">260</a> 
<a name="261" href="#261">261</a>                 toolbox.put(toolname, o);
<a name="262" href="#262">262</a>             }
<a name="263" href="#263">263</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (key.startsWith(INTEGER_PROP_PREFIX))
<a name="264" href="#264">264</a>             {
<a name="265" href="#265">265</a>                 String toolname = key.substring(INTEGER_PROP_PREFIX.length());
<a name="266" href="#266">266</a> 
<a name="267" href="#267">267</a>                 <strong class="jxr_keyword">int</strong> i = 0;
<a name="268" href="#268">268</a> 
<a name="269" href="#269">269</a>                 <strong class="jxr_keyword">try</strong>
<a name="270" href="#270">270</a>                 {
<a name="271" href="#271">271</a>                     i = Integer.parseInt(value);
<a name="272" href="#272">272</a>                 }
<a name="273" href="#273">273</a>                 <strong class="jxr_keyword">catch</strong>(Exception ee)
<a name="274" href="#274">274</a>                 {
<a name="275" href="#275">275</a>                 }
<a name="276" href="#276">276</a> 
<a name="277" href="#277">277</a>                 toolbox.put(toolname, <strong class="jxr_keyword">new</strong> Integer(i));
<a name="278" href="#278">278</a>             }
<a name="279" href="#279">279</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (key.startsWith(STRING_PROP_PREFIX))
<a name="280" href="#280">280</a>             {
<a name="281" href="#281">281</a>                 String toolname = key.substring(STRING_PROP_PREFIX.length());
<a name="282" href="#282">282</a>                 toolbox.put(toolname, value);
<a name="283" href="#283">283</a>             }
<a name="284" href="#284">284</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (key.startsWith(TOOLBOX_NAME))
<a name="285" href="#285">285</a>             {
<a name="286" href="#286">286</a>                 toolboxname = value;
<a name="287" href="#287">287</a>             }
<a name="288" href="#288">288</a>         }
<a name="289" href="#289">289</a> 
<a name="290" href="#290">290</a>         toolContext = <strong class="jxr_keyword">new</strong> VelocityContext();
<a name="291" href="#291">291</a> 
<a name="292" href="#292">292</a>         toolContext.put(toolboxname, toolbox);
<a name="293" href="#293">293</a>     }
<a name="294" href="#294">294</a> 
<a name="295" href="#295">295</a>     <em class="jxr_javadoccomment">/**</em>
<a name="296" href="#296">296</a> <em class="jxr_javadoccomment">     *  Convenience function.  See...</em>
<a name="297" href="#297">297</a> <em class="jxr_javadoccomment">     */</em>
<a name="298" href="#298">298</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setStylesheet(String stylesheet)
<a name="299" href="#299">299</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="300" href="#300">300</a>     {
<a name="301" href="#301">301</a>         setStylesheet(<strong class="jxr_keyword">new</strong> File(stylesheet), <strong class="jxr_keyword">null</strong>);
<a name="302" href="#302">302</a>     }
<a name="303" href="#303">303</a> 
<a name="304" href="#304">304</a>     <em class="jxr_javadoccomment">/**</em>
<a name="305" href="#305">305</a> <em class="jxr_javadoccomment">     *  Convenience function.  See...</em>
<a name="306" href="#306">306</a> <em class="jxr_javadoccomment">     */</em>
<a name="307" href="#307">307</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setStylesheet(File stylesheet)
<a name="308" href="#308">308</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="309" href="#309">309</a>     {
<a name="310" href="#310">310</a>         setStylesheet(stylesheet, <strong class="jxr_keyword">null</strong>);
<a name="311" href="#311">311</a>     }
<a name="312" href="#312">312</a> 
<a name="313" href="#313">313</a>     <em class="jxr_javadoccomment">/**</em>
<a name="314" href="#314">314</a> <em class="jxr_javadoccomment">     *  Convenience function.  See...</em>
<a name="315" href="#315">315</a> <em class="jxr_javadoccomment">     */</em>
<a name="316" href="#316">316</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setStylesheet(File stylesheet, String stylesheetEncoding)
<a name="317" href="#317">317</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="318" href="#318">318</a>     {
<a name="319" href="#319">319</a>         Reader fr = <strong class="jxr_keyword">null</strong>;
<a name="320" href="#320">320</a> 
<a name="321" href="#321">321</a>         <strong class="jxr_keyword">try</strong>
<a name="322" href="#322">322</a>         {
<a name="323" href="#323">323</a>             <strong class="jxr_keyword">if</strong> (stylesheetEncoding != <strong class="jxr_keyword">null</strong>)
<a name="324" href="#324">324</a>             {
<a name="325" href="#325">325</a>                 fr = <strong class="jxr_keyword">new</strong> InputStreamReader(
<a name="326" href="#326">326</a>                     <strong class="jxr_keyword">new</strong> FileInputStream(stylesheet), stylesheetEncoding);
<a name="327" href="#327">327</a>             }
<a name="328" href="#328">328</a>             <strong class="jxr_keyword">else</strong>
<a name="329" href="#329">329</a>             {
<a name="330" href="#330">330</a>                 fr = <strong class="jxr_keyword">new</strong> FileReader(stylesheet);
<a name="331" href="#331">331</a>             }
<a name="332" href="#332">332</a> 
<a name="333" href="#333">333</a>             setStylesheet(fr);
<a name="334" href="#334">334</a>         }
<a name="335" href="#335">335</a>         <strong class="jxr_keyword">finally</strong>
<a name="336" href="#336">336</a>         {
<a name="337" href="#337">337</a>             <strong class="jxr_keyword">if</strong> (fr != <strong class="jxr_keyword">null</strong>)
<a name="338" href="#338">338</a>                 fr.close();
<a name="339" href="#339">339</a>         }
<a name="340" href="#340">340</a>     }
<a name="341" href="#341">341</a> 
<a name="342" href="#342">342</a> 
<a name="343" href="#343">343</a>     <em class="jxr_javadoccomment">/**</em>
<a name="344" href="#344">344</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="345" href="#345">345</a> <em class="jxr_javadoccomment">     *  Sets the stylesheet for this transformation set</em>
<a name="346" href="#346">346</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="347" href="#347">347</a> <em class="jxr_javadoccomment">     *</em>
<a name="348" href="#348">348</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="349" href="#349">349</a> <em class="jxr_javadoccomment">     *  Note that don't need this for each document you want</em>
<a name="350" href="#350">350</a> <em class="jxr_javadoccomment">     *  to transform.  Just do it once, and transform away...</em>
<a name="351" href="#351">351</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="352" href="#352">352</a> <em class="jxr_javadoccomment">     *</em>
<a name="353" href="#353">353</a> <em class="jxr_javadoccomment">     *  @param styleReader Reader with stylesheet char stream</em>
<a name="354" href="#354">354</a> <em class="jxr_javadoccomment">     */</em>
<a name="355" href="#355">355</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setStylesheet(Reader styleReader)
<a name="356" href="#356">356</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="357" href="#357">357</a>     {
<a name="358" href="#358">358</a>         ready = false;
<a name="359" href="#359">359</a>         <em class="jxr_comment">/*</em>
<a name="360" href="#360">360</a> <em class="jxr_comment">         *  now initialize Velocity - we need to do that</em>
<a name="361" href="#361">361</a> <em class="jxr_comment">         *  on change of stylesheet</em>
<a name="362" href="#362">362</a> <em class="jxr_comment">         */</em>
<a name="363" href="#363">363</a> 
<a name="364" href="#364">364</a>         ve = <strong class="jxr_keyword">new</strong> VelocityEngine();
<a name="365" href="#365">365</a> 
<a name="366" href="#366">366</a>         <em class="jxr_comment">/*</em>
<a name="367" href="#367">367</a> <em class="jxr_comment">         * if there are user properties, set those first - carefully</em>
<a name="368" href="#368">368</a> <em class="jxr_comment">         */</em>
<a name="369" href="#369">369</a> 
<a name="370" href="#370">370</a>         <strong class="jxr_keyword">if</strong> (velConfig != <strong class="jxr_keyword">null</strong>)
<a name="371" href="#371">371</a>         {
<a name="372" href="#372">372</a>             configureVelocityEngine(ve, velConfig);
<a name="373" href="#373">373</a>         }
<a name="374" href="#374">374</a> 
<a name="375" href="#375">375</a>         <em class="jxr_comment">/*</em>
<a name="376" href="#376">376</a> <em class="jxr_comment">         *  register our template() directive</em>
<a name="377" href="#377">377</a> <em class="jxr_comment">         */</em>
<a name="378" href="#378">378</a> 
<a name="379" href="#379">379</a>         ve.setProperty(<span class="jxr_string">"userdirective"</span>, <span class="jxr_string">"org.apache.dvsl.directive.MatchDirective"</span>);
<a name="380" href="#380">380</a>         ve.init();
<a name="381" href="#381">381</a> 
<a name="382" href="#382">382</a>         <em class="jxr_comment">/*</em>
<a name="383" href="#383">383</a> <em class="jxr_comment">         *  add our template accumulator</em>
<a name="384" href="#384">384</a> <em class="jxr_comment">         */</em>
<a name="385" href="#385">385</a> 
<a name="386" href="#386">386</a>         ve.setApplicationAttribute(<span class="jxr_string">"org.apache.dvsl.TemplateHandler"</span>, templateHandler);
<a name="387" href="#387">387</a> 
<a name="388" href="#388">388</a>         <em class="jxr_comment">/*</em>
<a name="389" href="#389">389</a> <em class="jxr_comment">         *  load and render the stylesheet</em>
<a name="390" href="#390">390</a> <em class="jxr_comment">         *</em>
<a name="391" href="#391">391</a> <em class="jxr_comment">         *  this sets stylesheet specific context</em>
<a name="392" href="#392">392</a> <em class="jxr_comment">         *  values</em>
<a name="393" href="#393">393</a> <em class="jxr_comment">         */</em>
<a name="394" href="#394">394</a> 
<a name="395" href="#395">395</a>         StringWriter junkWriter = <strong class="jxr_keyword">new</strong> StringWriter();
<a name="396" href="#396">396</a> 
<a name="397" href="#397">397</a>         styleContext = <strong class="jxr_keyword">new</strong> VelocityContext();
<a name="398" href="#398">398</a>         ve.evaluate(styleContext, junkWriter, <span class="jxr_string">"DVSL:stylesheet"</span>, styleReader);
<a name="399" href="#399">399</a> 
<a name="400" href="#400">400</a>         <em class="jxr_comment">/*</em>
<a name="401" href="#401">401</a> <em class="jxr_comment">         *  now run the base template through for the rules</em>
<a name="402" href="#402">402</a> <em class="jxr_comment">         */</em>
<a name="403" href="#403">403</a> 
<a name="404" href="#404">404</a>         InputStream is = <strong class="jxr_keyword">this</strong>.getClass().getClassLoader()
<a name="405" href="#405">405</a>               .getResourceAsStream(<span class="jxr_string">"org/apache/dvsl/resource/defaultroot.dvsl"</span>);
<a name="406" href="#406">406</a> 
<a name="407" href="#407">407</a>         <strong class="jxr_keyword">if</strong> (is == <strong class="jxr_keyword">null</strong>)
<a name="408" href="#408">408</a>         {
<a name="409" href="#409">409</a>             System.out.println(<span class="jxr_string">"DEFAULT TRANSFORM RULES NOT FOUND "</span>);
<a name="410" href="#410">410</a>         }
<a name="411" href="#411">411</a>         <strong class="jxr_keyword">else</strong>
<a name="412" href="#412">412</a>         {
<a name="413" href="#413">413</a>             ve.evaluate(<strong class="jxr_keyword">new</strong> VelocityContext(),
<a name="414" href="#414">414</a>                     junkWriter, <span class="jxr_string">"defaultroot.dvsl"</span>, <strong class="jxr_keyword">new</strong> InputStreamReader(is));
<a name="415" href="#415">415</a>             is.close();
<a name="416" href="#416">416</a>         }
<a name="417" href="#417">417</a> 
<a name="418" href="#418">418</a>         <em class="jxr_comment">/*</em>
<a name="419" href="#419">419</a> <em class="jxr_comment">         *  need a new transformer, as it depends on the</em>
<a name="420" href="#420">420</a> <em class="jxr_comment">         *  velocity engine</em>
<a name="421" href="#421">421</a> <em class="jxr_comment">         */</em>
<a name="422" href="#422">422</a> 
<a name="423" href="#423">423</a>         transformer = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/dvsl/Transformer.html">Transformer</a>(ve, templateHandler,  baseContext, appVals,
<a name="424" href="#424">424</a>                             validate);
<a name="425" href="#425">425</a>     }
<a name="426" href="#426">426</a> 
<a name="427" href="#427">427</a>     <em class="jxr_javadoccomment">/**</em>
<a name="428" href="#428">428</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="429" href="#429">429</a> <em class="jxr_javadoccomment">     *   Adds the allowed properties from the Properties to the</em>
<a name="430" href="#430">430</a> <em class="jxr_javadoccomment">     *   velocity engine</em>
<a name="431" href="#431">431</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="432" href="#432">432</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="433" href="#433">433</a> <em class="jxr_javadoccomment">     *  So far, we support, in RuntimeConstant parlance :</em>
<a name="434" href="#434">434</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="435" href="#435">435</a> <em class="jxr_javadoccomment">     *  &lt;ul&gt;</em>
<a name="436" href="#436">436</a> <em class="jxr_javadoccomment">     *  &lt;li&gt;VM_LIBRARY&lt;/li&gt;</em>
<a name="437" href="#437">437</a> <em class="jxr_javadoccomment">     *  &lt;li&gt;FILE_RESOURCE_LOADER_PATH&lt;/li&gt;</em>
<a name="438" href="#438">438</a> <em class="jxr_javadoccomment">     *  &lt;li&gt;RUNTIME_LOG&lt;/li&gt;</em>
<a name="439" href="#439">439</a> <em class="jxr_javadoccomment">     *  &lt;li&gt;RUNTIME_LOG_LOGSYSTEM&lt;/li&gt;</em>
<a name="440" href="#440">440</a> <em class="jxr_javadoccomment">     *  &lt;li&gt;RUNTIME_LOG_LOGSYSTEM_CLASS&lt;/li&gt;</em>
<a name="441" href="#441">441</a> <em class="jxr_javadoccomment">     *  &lt;/ul&gt;</em>
<a name="442" href="#442">442</a> <em class="jxr_javadoccomment">     *</em>
<a name="443" href="#443">443</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="444" href="#444">444</a> <em class="jxr_javadoccomment">     *  If you are going to use this, ensure you do it *before* setting</em>
<a name="445" href="#445">445</a> <em class="jxr_javadoccomment">     *  the stylesheet, as that creates the VelocityEngine</em>
<a name="446" href="#446">446</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="447" href="#447">447</a> <em class="jxr_javadoccomment">     */</em>
<a name="448" href="#448">448</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> configureVelocityEngine(VelocityEngine ve, Map map)
<a name="449" href="#449">449</a>     {
<a name="450" href="#450">450</a>         <strong class="jxr_keyword">if</strong> (ve == <strong class="jxr_keyword">null</strong> || map == <strong class="jxr_keyword">null</strong>)
<a name="451" href="#451">451</a>         {
<a name="452" href="#452">452</a>             <strong class="jxr_keyword">return</strong>;
<a name="453" href="#453">453</a>         }
<a name="454" href="#454">454</a> 
<a name="455" href="#455">455</a>         <em class="jxr_comment">/*</em>
<a name="456" href="#456">456</a> <em class="jxr_comment">         * for now,  keep it simple</em>
<a name="457" href="#457">457</a> <em class="jxr_comment">         */</em>
<a name="458" href="#458">458</a> 
<a name="459" href="#459">459</a>         Object val = map.get(VelocityEngine.VM_LIBRARY);
<a name="460" href="#460">460</a> 
<a name="461" href="#461">461</a>         <strong class="jxr_keyword">if</strong> (val instanceof String)
<a name="462" href="#462">462</a>         {
<a name="463" href="#463">463</a>             ve.setProperty(VelocityEngine.VM_LIBRARY, (String) val);
<a name="464" href="#464">464</a>         }
<a name="465" href="#465">465</a> 
<a name="466" href="#466">466</a>         <em class="jxr_comment">/*</em>
<a name="467" href="#467">467</a> <em class="jxr_comment">         *  assumes that for now, we are using the file loader</em>
<a name="468" href="#468">468</a> <em class="jxr_comment">         */</em>
<a name="469" href="#469">469</a>         val = map.get(VelocityEngine.FILE_RESOURCE_LOADER_PATH);
<a name="470" href="#470">470</a> 
<a name="471" href="#471">471</a>         <strong class="jxr_keyword">if</strong> (val instanceof String)
<a name="472" href="#472">472</a>         {
<a name="473" href="#473">473</a>             ve.setProperty(VelocityEngine.FILE_RESOURCE_LOADER_PATH, (String) val);
<a name="474" href="#474">474</a>         }
<a name="475" href="#475">475</a> 
<a name="476" href="#476">476</a>         <em class="jxr_comment">/*</em>
<a name="477" href="#477">477</a> <em class="jxr_comment">         *  No real assumptions - pass what you want</em>
<a name="478" href="#478">478</a> <em class="jxr_comment">         */</em>
<a name="479" href="#479">479</a>         val = map.get(VelocityEngine.RUNTIME_LOG);
<a name="480" href="#480">480</a> 
<a name="481" href="#481">481</a>         <strong class="jxr_keyword">if</strong> (val instanceof String)
<a name="482" href="#482">482</a>         {
<a name="483" href="#483">483</a>             ve.setProperty(VelocityEngine.RUNTIME_LOG,  val);
<a name="484" href="#484">484</a>         }
<a name="485" href="#485">485</a> 
<a name="486" href="#486">486</a>         val = map.get(VelocityEngine.RUNTIME_LOG_LOGSYSTEM);
<a name="487" href="#487">487</a> 
<a name="488" href="#488">488</a>         <strong class="jxr_keyword">if</strong> (val != <strong class="jxr_keyword">null</strong>)
<a name="489" href="#489">489</a>         {
<a name="490" href="#490">490</a>             ve.setProperty(VelocityEngine.RUNTIME_LOG_LOGSYSTEM,  val);
<a name="491" href="#491">491</a>         }
<a name="492" href="#492">492</a> 
<a name="493" href="#493">493</a>         val = map.get(VelocityEngine.RUNTIME_LOG_LOGSYSTEM_CLASS);
<a name="494" href="#494">494</a> 
<a name="495" href="#495">495</a>         <strong class="jxr_keyword">if</strong> (val instanceof String)
<a name="496" href="#496">496</a>         {
<a name="497" href="#497">497</a>             ve.setProperty(VelocityEngine.RUNTIME_LOG_LOGSYSTEM_CLASS,  val);
<a name="498" href="#498">498</a>         }
<a name="499" href="#499">499</a> 
<a name="500" href="#500">500</a>     }
<a name="501" href="#501">501</a> 
<a name="502" href="#502">502</a>     <em class="jxr_javadoccomment">/**</em>
<a name="503" href="#503">503</a> <em class="jxr_javadoccomment">     *  sets up all the context goodies</em>
<a name="504" href="#504">504</a> <em class="jxr_javadoccomment">     */</em>
<a name="505" href="#505">505</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> makeReady()
<a name="506" href="#506">506</a>     {
<a name="507" href="#507">507</a>         <em class="jxr_comment">/*</em>
<a name="508" href="#508">508</a> <em class="jxr_comment">         *  put all the contexts together</em>
<a name="509" href="#509">509</a> <em class="jxr_comment">         */</em>
<a name="510" href="#510">510</a> 
<a name="511" href="#511">511</a>         baseContext.clearContexts();
<a name="512" href="#512">512</a> 
<a name="513" href="#513">513</a>         baseContext.addContext(userContext);
<a name="514" href="#514">514</a>         baseContext.addContext(toolContext);
<a name="515" href="#515">515</a>         baseContext.setStyleContext(styleContext);
<a name="516" href="#516">516</a> 
<a name="517" href="#517">517</a>         ready = <strong class="jxr_keyword">true</strong>;
<a name="518" href="#518">518</a>      }
<a name="519" href="#519">519</a> 
<a name="520" href="#520">520</a>     <em class="jxr_javadoccomment">/**</em>
<a name="521" href="#521">521</a> <em class="jxr_javadoccomment">     *  does the transformation of the inputstream into</em>
<a name="522" href="#522">522</a> <em class="jxr_javadoccomment">     *  the output writer</em>
<a name="523" href="#523">523</a> <em class="jxr_javadoccomment">     */</em>
<a name="524" href="#524">524</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">long</strong> xform(Reader reader, Writer writer)
<a name="525" href="#525">525</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="526" href="#526">526</a>     {
<a name="527" href="#527">527</a>         <strong class="jxr_keyword">if</strong> (!ready)
<a name="528" href="#528">528</a>             makeReady();
<a name="529" href="#529">529</a> 
<a name="530" href="#530">530</a>         <strong class="jxr_keyword">return</strong> transformer.transform(reader, writer);
<a name="531" href="#531">531</a>     }
<a name="532" href="#532">532</a> 
<a name="533" href="#533">533</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">long</strong> xform(Document dom4jdoc, Writer writer)
<a name="534" href="#534">534</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="535" href="#535">535</a>     {
<a name="536" href="#536">536</a>         <strong class="jxr_keyword">if</strong> (!ready)
<a name="537" href="#537">537</a>             makeReady();
<a name="538" href="#538">538</a> 
<a name="539" href="#539">539</a>         <strong class="jxr_keyword">return</strong> transformer.transform(dom4jdoc, writer);
<a name="540" href="#540">540</a>     }
<a name="541" href="#541">541</a> 
<a name="542" href="#542">542</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> transform(File f, Writer writer)
<a name="543" href="#543">543</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="544" href="#544">544</a>     {
<a name="545" href="#545">545</a>         InputStream is = <strong class="jxr_keyword">null</strong>;
<a name="546" href="#546">546</a>         <strong class="jxr_keyword">try</strong>
<a name="547" href="#547">547</a>         {
<a name="548" href="#548">548</a>             is = <strong class="jxr_keyword">new</strong> FileInputStream(f);
<a name="549" href="#549">549</a>             <strong class="jxr_keyword">return</strong> transform(is, writer);
<a name="550" href="#550">550</a>         }
<a name="551" href="#551">551</a>         <strong class="jxr_keyword">finally</strong>
<a name="552" href="#552">552</a>         {
<a name="553" href="#553">553</a>             <strong class="jxr_keyword">if</strong> (is != <strong class="jxr_keyword">null</strong>)
<a name="554" href="#554">554</a>             {
<a name="555" href="#555">555</a>                 is.close();
<a name="556" href="#556">556</a>             }
<a name="557" href="#557">557</a>         }
<a name="558" href="#558">558</a>     }
<a name="559" href="#559">559</a> 
<a name="560" href="#560">560</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> transform(Reader reader, Writer writer)
<a name="561" href="#561">561</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="562" href="#562">562</a>     {
<a name="563" href="#563">563</a>         <strong class="jxr_keyword">return</strong> xform(reader, writer);
<a name="564" href="#564">564</a>     }
<a name="565" href="#565">565</a> 
<a name="566" href="#566">566</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> transform(InputStream is, Writer writer)
<a name="567" href="#567">567</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="568" href="#568">568</a>     {
<a name="569" href="#569">569</a>         SAXReader reader = <strong class="jxr_keyword">new</strong> SAXReader();
<a name="570" href="#570">570</a>         <strong class="jxr_keyword">return</strong> xform(reader.read(is), writer);
<a name="571" href="#571">571</a>     }
<a name="572" href="#572">572</a> 
<a name="573" href="#573">573</a>     <em class="jxr_javadoccomment">/**</em>
<a name="574" href="#574">574</a> <em class="jxr_javadoccomment">     * Transforms the given dom4j Document into the writer.</em>
<a name="575" href="#575">575</a> <em class="jxr_javadoccomment">     *</em>
<a name="576" href="#576">576</a> <em class="jxr_javadoccomment">     * @param dom4jdoc dom4j Document object</em>
<a name="577" href="#577">577</a> <em class="jxr_javadoccomment">     * @param writer Writer for output</em>
<a name="578" href="#578">578</a> <em class="jxr_javadoccomment">     */</em>
<a name="579" href="#579">579</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> transform(Document dom4jdoc, Writer writer)
<a name="580" href="#580">580</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="581" href="#581">581</a>     {
<a name="582" href="#582">582</a>         <strong class="jxr_keyword">return</strong> xform(dom4jdoc, writer);
<a name="583" href="#583">583</a>     }
<a name="584" href="#584">584</a> 
<a name="585" href="#585">585</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> transform(String infile, Writer writer)
<a name="586" href="#586">586</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="587" href="#587">587</a>     {
<a name="588" href="#588">588</a>         <strong class="jxr_keyword">return</strong> transform(<strong class="jxr_keyword">new</strong> File(infile), writer);
<a name="589" href="#589">589</a>     }
<a name="590" href="#590">590</a> 
<a name="591" href="#591">591</a> 
<a name="592" href="#592">592</a>     <em class="jxr_javadoccomment">/**</em>
<a name="593" href="#593">593</a> <em class="jxr_javadoccomment">     *  Gets the application value for the specified key</em>
<a name="594" href="#594">594</a> <em class="jxr_javadoccomment">     *</em>
<a name="595" href="#595">595</a> <em class="jxr_javadoccomment">     *  @param key key to use to retrieve value</em>
<a name="596" href="#596">596</a> <em class="jxr_javadoccomment">     *  @return value if found, null otherwise</em>
<a name="597" href="#597">597</a> <em class="jxr_javadoccomment">     */</em>
<a name="598" href="#598">598</a>     <strong class="jxr_keyword">public</strong> Object getAppValue(Object key)
<a name="599" href="#599">599</a>     {
<a name="600" href="#600">600</a>         <strong class="jxr_keyword">return</strong> appVals.get(key);
<a name="601" href="#601">601</a>     }
<a name="602" href="#602">602</a> 
<a name="603" href="#603">603</a>     <em class="jxr_javadoccomment">/**</em>
<a name="604" href="#604">604</a> <em class="jxr_javadoccomment">     *  Sets the application value for the specified key</em>
<a name="605" href="#605">605</a> <em class="jxr_javadoccomment">     *</em>
<a name="606" href="#606">606</a> <em class="jxr_javadoccomment">     *  @param key key to use to store value</em>
<a name="607" href="#607">607</a> <em class="jxr_javadoccomment">     *  @param value value to be stored</em>
<a name="608" href="#608">608</a> <em class="jxr_javadoccomment">     *  @return old value if any, null otherwise</em>
<a name="609" href="#609">609</a> <em class="jxr_javadoccomment">     */</em>
<a name="610" href="#610">610</a>     <strong class="jxr_keyword">public</strong> Object putAppValue(Object key, Object value)
<a name="611" href="#611">611</a>     {
<a name="612" href="#612">612</a>         <strong class="jxr_keyword">return</strong> appVals.put(key, value);
<a name="613" href="#613">613</a>     }
<a name="614" href="#614">614</a> 
<a name="615" href="#615">615</a>     <em class="jxr_javadoccomment">/**</em>
<a name="616" href="#616">616</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="617" href="#617">617</a> <em class="jxr_javadoccomment">     *  Allows command-line access.</em>
<a name="618" href="#618">618</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="619" href="#619">619</a> <em class="jxr_javadoccomment">     *  &lt;p&gt;</em>
<a name="620" href="#620">620</a> <em class="jxr_javadoccomment">     *  Usage :  java -jar dvsl.jar -STYLE stylesheeet [-IN infile] [-OUT outfile] [-TOOL toolboxname]</em>
<a name="621" href="#621">621</a> <em class="jxr_javadoccomment">     *  &lt;/p&gt;</em>
<a name="622" href="#622">622</a> <em class="jxr_javadoccomment">     */</em>
<a name="623" href="#623">623</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(String[] args)
<a name="624" href="#624">624</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="625" href="#625">625</a>     {
<a name="626" href="#626">626</a> 
<a name="627" href="#627">627</a>         <a href="../../../org/apache/dvsl/DVSL.html">DVSL</a> dvsl = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/dvsl/DVSL.html">DVSL</a>();
<a name="628" href="#628">628</a> 
<a name="629" href="#629">629</a>         Reader in = <strong class="jxr_keyword">new</strong> InputStreamReader(System.in);
<a name="630" href="#630">630</a>         String infile = <strong class="jxr_keyword">null</strong>;
<a name="631" href="#631">631</a>         String style = <strong class="jxr_keyword">null</strong>;
<a name="632" href="#632">632</a>         String outfile = <strong class="jxr_keyword">null</strong>;
<a name="633" href="#633">633</a> 
<a name="634" href="#634">634</a>         Writer out = <strong class="jxr_keyword">new</strong> OutputStreamWriter(System.out);
<a name="635" href="#635">635</a>         String toolfile = <strong class="jxr_keyword">null</strong>;
<a name="636" href="#636">636</a> 
<a name="637" href="#637">637</a>         <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; args.length; i++)
<a name="638" href="#638">638</a>         {
<a name="639" href="#639">639</a>             <strong class="jxr_keyword">if</strong> (args[i].equals(<span class="jxr_string">"-IN"</span>))
<a name="640" href="#640">640</a>                 infile = args[++i];
<a name="641" href="#641">641</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (args[i].equals(<span class="jxr_string">"-OUT"</span>))
<a name="642" href="#642">642</a>                 outfile = args[++i];
<a name="643" href="#643">643</a>            <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (args[i].equals(<span class="jxr_string">"-STYLE"</span>))
<a name="644" href="#644">644</a>                 style = args[++i];
<a name="645" href="#645">645</a>            <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (args[i].equals(<span class="jxr_string">"-TOOL"</span>))
<a name="646" href="#646">646</a>                 toolfile = args[++i];
<a name="647" href="#647">647</a>         }
<a name="648" href="#648">648</a> 
<a name="649" href="#649">649</a>         <strong class="jxr_keyword">if</strong> (style == <strong class="jxr_keyword">null</strong>)
<a name="650" href="#650">650</a>         {
<a name="651" href="#651">651</a>             System.out.println(<span class="jxr_string">"usage :need to specify a stylesheet. "</span>);
<a name="652" href="#652">652</a>             System.out.println(<span class="jxr_string">"java -jar dvsl.jar -STYLE stylesheeet [-IN infile] [-OUT outfile] [-TOOL toolboxname]"</span>);
<a name="653" href="#653">653</a>             <strong class="jxr_keyword">return</strong>;
<a name="654" href="#654">654</a>         }
<a name="655" href="#655">655</a> 
<a name="656" href="#656">656</a>         <strong class="jxr_keyword">if</strong> (style != <strong class="jxr_keyword">null</strong>)
<a name="657" href="#657">657</a>             dvsl.setStylesheet(style);
<a name="658" href="#658">658</a> 
<a name="659" href="#659">659</a>         <strong class="jxr_keyword">if</strong> (toolfile != <strong class="jxr_keyword">null</strong>)
<a name="660" href="#660">660</a>         {
<a name="661" href="#661">661</a>             Properties p = <strong class="jxr_keyword">new</strong> Properties();
<a name="662" href="#662">662</a> 
<a name="663" href="#663">663</a>             InputStream fis = <strong class="jxr_keyword">new</strong> FileInputStream(toolfile);
<a name="664" href="#664">664</a> 
<a name="665" href="#665">665</a>             p.load(fis);
<a name="666" href="#666">666</a> 
<a name="667" href="#667">667</a>             dvsl.setToolbox(p);
<a name="668" href="#668">668</a>         }
<a name="669" href="#669">669</a> 
<a name="670" href="#670">670</a>         <strong class="jxr_keyword">if</strong> (infile != <strong class="jxr_keyword">null</strong>)
<a name="671" href="#671">671</a>             in = <strong class="jxr_keyword">new</strong> FileReader(infile);
<a name="672" href="#672">672</a> 
<a name="673" href="#673">673</a>         <strong class="jxr_keyword">if</strong> (outfile != <strong class="jxr_keyword">null</strong>)
<a name="674" href="#674">674</a>             out = <strong class="jxr_keyword">new</strong> FileWriter(outfile);
<a name="675" href="#675">675</a> 
<a name="676" href="#676">676</a>         <strong class="jxr_keyword">long</strong> time = dvsl.transform(in, out);
<a name="677" href="#677">677</a> 
<a name="678" href="#678">678</a>         out.flush();
<a name="679" href="#679">679</a> 
<a name="680" href="#680">680</a>     }
<a name="681" href="#681">681</a> 
<a name="682" href="#682">682</a>     <em class="jxr_comment">/*</em>
<a name="683" href="#683">683</a> <em class="jxr_comment">     * inner class to wrap a LogSystem into a LogChute</em>
<a name="684" href="#684">684</a> <em class="jxr_comment">     */</em>
<a name="685" href="#685">685</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/dvsl/DVSL.html">LogAdapter</a> <strong class="jxr_keyword">extends</strong> LogChuteSystem {
<a name="686" href="#686">686</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/dvsl/DVSL.html">LogAdapter</a>(LogSystem logSystem) {
<a name="687" href="#687">687</a>             <strong class="jxr_keyword">super</strong>(logSystem);
<a name="688" href="#688">688</a>         }
<a name="689" href="#689">689</a>     }
<a name="690" href="#690">690</a> }
<a name="691" href="#691">691</a> 
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

