<!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>DVSLTask xref</title>
<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../apidocs/org/apache/dvsl/DVSLTask.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.util.Map;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Vector;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.Enumeration;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.io.File;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.io.FileInputStream;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.io.BufferedWriter;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.io.OutputStreamWriter;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.io.FileOutputStream;
<a name="33" href="#33">33</a>  
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.tools.ant.AntClassLoader;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.tools.ant.BuildException;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.tools.ant.DirectoryScanner;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.tools.ant.Project;
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.tools.ant.taskdefs.MatchingTask;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.tools.ant.types.Path;
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.tools.ant.types.Reference;
<a name="41" href="#41">41</a>  
<a name="42" href="#42">42</a>  
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment">/**</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * A Task to process via DVSL a set of XML documents. This is</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * useful for building views of XML based documentation.</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * arguments:</em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * &lt;ul&gt;</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;basedir</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;destdir</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;style</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;in</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;out</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;logfile</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;includes</em>
<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;excludes</em>
<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;force</em>
<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;extension</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;outputencoding</em>
<a name="59" href="#59">59</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;classpath</em>
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;classpathref</em>
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;toolboxfile</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;velocityconfigclass</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;</em>
<a name="64" href="#64">64</a>  <em class="jxr_javadoccomment"> * &lt;/ul&gt;</em>
<a name="65" href="#65">65</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;Of these arguments, the &lt;b&gt;sourcedir&lt;/b&gt; and &lt;b&gt;destdir&lt;/b&gt; are required, or,</em>
<a name="66" href="#66">66</a>  <em class="jxr_javadoccomment"> * &lt;b&gt;in&lt;/b&gt; and &lt;b&gt;out&lt;/b&gt; are required.&lt;/p&gt;</em>
<a name="67" href="#67">67</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;Following are the supported nested elements:&lt;/p&gt;</em>
<a name="68" href="#68">68</a>  <em class="jxr_javadoccomment"> * &lt;ul&gt;</em>
<a name="69" href="#69">69</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;&amp;lt;include&amp;gt;</em>
<a name="70" href="#70">70</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;&amp;lt;exclude&amp;gt;</em>
<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;&amp;lt;classpath&amp;gt;</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;&amp;lt;tool name="toolbox-property" value="value-or-object" /&amp;gt;</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;&amp;lt;velconfig name="velocity-config-name" value="config-value" /&amp;gt;</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment"> * &lt;/ul&gt;</em>
<a name="75" href="#75">75</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;This task will recursively scan the sourcedir and destdir</em>
<a name="76" href="#76">76</a>  <em class="jxr_javadoccomment"> * looking for XML documents to process via DVSL. &lt;/p&gt;</em>
<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment"> *</em>
<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;This task was adapted from Ant's &amp;lt;style&amp;gt; task (XSLTProcess class) from the</em>
<a name="79" href="#79">79</a>  <em class="jxr_javadoccomment"> * 1.4.1 release.&lt;/p&gt;</em>
<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment"> *</em>
<a name="81" href="#81">81</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:kvisco@exoffice.com" target="alexandria_uri">mailto:kvisco@exoffice.com</a>"&gt;Keith Visco&lt;/a&gt;</em>
<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:rubys@us.ibm.com" target="alexandria_uri">mailto:rubys@us.ibm.com</a>"&gt;Sam Ruby&lt;/a&gt;</em>
<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:russgold@acm.org" target="alexandria_uri">mailto:russgold@acm.org</a>"&gt;Russell Gold&lt;/a&gt;</em>
<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:stefan.bodewig@epost.de" target="alexandria_uri">mailto:stefan.bodewig@epost.de</a>"&gt;Stefan Bodewig&lt;/a&gt;</em>
<a name="85" href="#85">85</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="86" href="#86">86</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="87" href="#87">87</a>  <em class="jxr_javadoccomment"> */</em>
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/dvsl/DVSLTask.html">DVSLTask</a> <strong class="jxr_keyword">extends</strong> MatchingTask
<a name="90" href="#90">90</a>  {
<a name="91" href="#91">91</a>      <em class="jxr_javadoccomment">/**</em>
<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">     *  Supported app values</em>
<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment">     */</em>
<a name="94" href="#94">94</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String INFILENAME = <span class="jxr_string">"infilename"</span>;
<a name="95" href="#95">95</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String OUTFILENAME = <span class="jxr_string">"outfilename"</span>;
<a name="96" href="#96">96</a>  
<a name="97" href="#97">97</a>      <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/dvsl/DVSL.html">DVSL</a> dvsl;
<a name="98" href="#98">98</a>  
<a name="99" href="#99">99</a>      <strong class="jxr_keyword">private</strong> File destDir = <strong class="jxr_keyword">null</strong>;
<a name="100" href="#100">100</a>     <strong class="jxr_keyword">private</strong> File baseDir = <strong class="jxr_keyword">null</strong>;
<a name="101" href="#101">101</a>     <strong class="jxr_keyword">private</strong> File stylesheet = <strong class="jxr_keyword">null</strong>;
<a name="102" href="#102">102</a>     <strong class="jxr_keyword">private</strong> String stylesheetEncoding = <strong class="jxr_keyword">null</strong>;
<a name="103" href="#103">103</a>     <strong class="jxr_keyword">private</strong> File inFile = <strong class="jxr_keyword">null</strong>;
<a name="104" href="#104">104</a>     <strong class="jxr_keyword">private</strong> File outFile = <strong class="jxr_keyword">null</strong>;
<a name="105" href="#105">105</a>     <strong class="jxr_keyword">private</strong> File logFile = <strong class="jxr_keyword">null</strong>;
<a name="106" href="#106">106</a> 
<a name="107" href="#107">107</a>     <strong class="jxr_keyword">private</strong> String targetExtension = <span class="jxr_string">".html"</span>;
<a name="108" href="#108">108</a>     <strong class="jxr_keyword">private</strong> String outputEncoding = <span class="jxr_string">"UTF-8"</span>;
<a name="109" href="#109">109</a> 
<a name="110" href="#110">110</a>     <strong class="jxr_keyword">private</strong> Path classpath = <strong class="jxr_keyword">null</strong>;
<a name="111" href="#111">111</a>     <strong class="jxr_keyword">private</strong> ClassLoader classLoader = <strong class="jxr_keyword">null</strong>;
<a name="112" href="#112">112</a> 
<a name="113" href="#113">113</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> force = false;
<a name="114" href="#114">114</a> 
<a name="115" href="#115">115</a>     <strong class="jxr_keyword">private</strong> Vector toolAttr = <strong class="jxr_keyword">new</strong> Vector();
<a name="116" href="#116">116</a>     <strong class="jxr_keyword">private</strong> File toolboxFile = <strong class="jxr_keyword">null</strong>;
<a name="117" href="#117">117</a>     <strong class="jxr_keyword">private</strong> Properties toolboxProps = <strong class="jxr_keyword">null</strong>;
<a name="118" href="#118">118</a> 
<a name="119" href="#119">119</a>     <strong class="jxr_keyword">private</strong> String velConfigClass = <strong class="jxr_keyword">null</strong>;
<a name="120" href="#120">120</a>     <strong class="jxr_keyword">private</strong> Map velConfigMap = <strong class="jxr_keyword">null</strong>;
<a name="121" href="#121">121</a>     <strong class="jxr_keyword">private</strong> Vector velConfigAttr = <strong class="jxr_keyword">new</strong> Vector();
<a name="122" href="#122">122</a> 
<a name="123" href="#123">123</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> validatingParser = false;
<a name="124" href="#124">124</a> 
<a name="125" href="#125">125</a>     <em class="jxr_comment">//private String outputtype = null;  // later when output type is supported</em>
<a name="126" href="#126">126</a> 
<a name="127" href="#127">127</a>     <em class="jxr_javadoccomment">/**</em>
<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     * Creates a new DVSLTask Task.</em>
<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     **/</em>
<a name="130" href="#130">130</a>     <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/dvsl/DVSLTask.html">DVSLTask</a>()
<a name="131" href="#131">131</a>     {
<a name="132" href="#132">132</a>         classLoader = DVSLTask.<strong class="jxr_keyword">class</strong>.getClassLoader();
<a name="133" href="#133">133</a>     }
<a name="134" href="#134">134</a> 
<a name="135" href="#135">135</a>     <em class="jxr_javadoccomment">/**</em>
<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">     * Executes the task.</em>
<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">     */</em>
<a name="138" href="#138">138</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute()
<a name="139" href="#139">139</a>             <strong class="jxr_keyword">throws</strong> BuildException
<a name="140" href="#140">140</a>     {
<a name="141" href="#141">141</a>         DirectoryScanner scanner;
<a name="142" href="#142">142</a>         String[]         list;
<a name="143" href="#143">143</a>         String[]         dirs;
<a name="144" href="#144">144</a> 
<a name="145" href="#145">145</a>         <strong class="jxr_keyword">if</strong> (stylesheet == <strong class="jxr_keyword">null</strong>)
<a name="146" href="#146">146</a>         {
<a name="147" href="#147">147</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(<span class="jxr_string">"no stylesheet specified"</span>, getLocation());
<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">if</strong> (baseDir == <strong class="jxr_keyword">null</strong>)
<a name="151" href="#151">151</a>         {
<a name="152" href="#152">152</a>             baseDir = getProject().resolveFile(<span class="jxr_string">"."</span>);
<a name="153" href="#153">153</a>         }
<a name="154" href="#154">154</a> 
<a name="155" href="#155">155</a>         <em class="jxr_comment">/*</em>
<a name="156" href="#156">156</a> <em class="jxr_comment">         * make a DVSL and set validation</em>
<a name="157" href="#157">157</a> <em class="jxr_comment">         */</em>
<a name="158" href="#158">158</a>         dvsl = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/dvsl/DVSL.html">DVSL</a>();
<a name="159" href="#159">159</a> 
<a name="160" href="#160">160</a>         dvsl.setValidatingParser(validatingParser);
<a name="161" href="#161">161</a> 
<a name="162" href="#162">162</a>         <em class="jxr_comment">/*</em>
<a name="163" href="#163">163</a> <em class="jxr_comment">         *  Create a new Classloader for loading the Toolbox and the Velocity</em>
<a name="164" href="#164">164</a> <em class="jxr_comment">         *  properties class.</em>
<a name="165" href="#165">165</a> <em class="jxr_comment">         */</em>
<a name="166" href="#166">166</a>         <strong class="jxr_keyword">if</strong> (classpath != <strong class="jxr_keyword">null</strong>)
<a name="167" href="#167">167</a>         {
<a name="168" href="#168">168</a>             classLoader = <strong class="jxr_keyword">new</strong> AntClassLoader(getProject(), classpath);
<a name="169" href="#169">169</a>             dvsl.setClassLoader(classLoader);
<a name="170" href="#170">170</a>         }
<a name="171" href="#171">171</a> 
<a name="172" href="#172">172</a>         <em class="jxr_comment">/*</em>
<a name="173" href="#173">173</a> <em class="jxr_comment">         * If the user gave us a velPropClass, we create an instance</em>
<a name="174" href="#174">174</a> <em class="jxr_comment">         * of that to use to config the VelocityEngine inside te DVSL</em>
<a name="175" href="#175">175</a> <em class="jxr_comment">         */</em>
<a name="176" href="#176">176</a>         Object velConfigObj = <strong class="jxr_keyword">null</strong>;
<a name="177" href="#177">177</a> 
<a name="178" href="#178">178</a>         <strong class="jxr_keyword">if</strong> (velConfigClass != <strong class="jxr_keyword">null</strong>)
<a name="179" href="#179">179</a>         {
<a name="180" href="#180">180</a>             <strong class="jxr_keyword">try</strong>
<a name="181" href="#181">181</a>             {
<a name="182" href="#182">182</a>                 velConfigObj = Class.forName(velConfigClass, <strong class="jxr_keyword">true</strong>, classLoader).newInstance();
<a name="183" href="#183">183</a> 
<a name="184" href="#184">184</a>                 <strong class="jxr_keyword">if</strong> (velConfigObj instanceof Map)
<a name="185" href="#185">185</a>                 {
<a name="186" href="#186">186</a>                     velConfigMap = (Map) velConfigObj;
<a name="187" href="#187">187</a>                 }
<a name="188" href="#188">188</a>                 <strong class="jxr_keyword">else</strong>
<a name="189" href="#189">189</a>                 {
<a name="190" href="#190">190</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(<span class="jxr_string">"VelocityPropClass is not instanceof java.util.Map"</span>);
<a name="191" href="#191">191</a>                 }
<a name="192" href="#192">192</a>             }
<a name="193" href="#193">193</a>             <strong class="jxr_keyword">catch</strong>(Exception ex)
<a name="194" href="#194">194</a>             {
<a name="195" href="#195">195</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(<span class="jxr_string">"Error instantiating VelocityPropClass : "</span>
<a name="196" href="#196">196</a>                         + ex);
<a name="197" href="#197">197</a>             }
<a name="198" href="#198">198</a>         }
<a name="199" href="#199">199</a> 
<a name="200" href="#200">200</a>         <em class="jxr_comment">/*</em>
<a name="201" href="#201">201</a> <em class="jxr_comment">         * If any nested Velocity Config elements have been specified, overlay any settings</em>
<a name="202" href="#202">202</a> <em class="jxr_comment">         * in the Velocity Config object.</em>
<a name="203" href="#203">203</a> <em class="jxr_comment">         */</em>
<a name="204" href="#204">204</a>         <strong class="jxr_keyword">if</strong> (!velConfigAttr.isEmpty())
<a name="205" href="#205">205</a>         {
<a name="206" href="#206">206</a>             <strong class="jxr_keyword">if</strong> (velConfigMap == <strong class="jxr_keyword">null</strong>)
<a name="207" href="#207">207</a>             {
<a name="208" href="#208">208</a>                velConfigMap = <strong class="jxr_keyword">new</strong> HashMap();
<a name="209" href="#209">209</a>             }
<a name="210" href="#210">210</a> 
<a name="211" href="#211">211</a>             <em class="jxr_comment">/*</em>
<a name="212" href="#212">212</a> <em class="jxr_comment">             * Now copy velocity config attributes into the Map</em>
<a name="213" href="#213">213</a> <em class="jxr_comment">             */</em>
<a name="214" href="#214">214</a>             <strong class="jxr_keyword">for</strong> (Enumeration e = velConfigAttr.elements(); e.hasMoreElements();)
<a name="215" href="#215">215</a>             {
<a name="216" href="#216">216</a>                 <a href="../../../org/apache/dvsl/DVSLTask.html">VelocityConfig</a> p = (VelocityConfig)e.nextElement();
<a name="217" href="#217">217</a>                 velConfigMap.put(p.getName(), p.getValue());
<a name="218" href="#218">218</a>             }
<a name="219" href="#219">219</a>         }
<a name="220" href="#220">220</a> 
<a name="221" href="#221">221</a>         <em class="jxr_comment">/*</em>
<a name="222" href="#222">222</a> <em class="jxr_comment">         * Finally, set the Velocity Config object in DVSL if it's valid.</em>
<a name="223" href="#223">223</a> <em class="jxr_comment">         */</em>
<a name="224" href="#224">224</a>         <strong class="jxr_keyword">if</strong> (velConfigMap != <strong class="jxr_keyword">null</strong>)
<a name="225" href="#225">225</a>         {
<a name="226" href="#226">226</a>             dvsl.setVelocityConfig(velConfigMap);
<a name="227" href="#227">227</a>         }
<a name="228" href="#228">228</a> 
<a name="229" href="#229">229</a>         <em class="jxr_comment">/*</em>
<a name="230" href="#230">230</a> <em class="jxr_comment">         * If a logfile attribute was specified, use that for the log file name,</em>
<a name="231" href="#231">231</a> <em class="jxr_comment">         * otherwise use a Velocity to Ant logging adapter.</em>
<a name="232" href="#232">232</a> <em class="jxr_comment">         */</em>
<a name="233" href="#233">233</a>         <strong class="jxr_keyword">if</strong> (logFile != <strong class="jxr_keyword">null</strong>)
<a name="234" href="#234">234</a>         {
<a name="235" href="#235">235</a>             dvsl.setLogFile(logFile);
<a name="236" href="#236">236</a>         }
<a name="237" href="#237">237</a>         <strong class="jxr_keyword">else</strong>
<a name="238" href="#238">238</a>         {
<a name="239" href="#239">239</a>             dvsl.setLogChute(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/dvsl/AntLogChute.html">AntLogChute</a>(<strong class="jxr_keyword">this</strong>));
<a name="240" href="#240">240</a>         }
<a name="241" href="#241">241</a> 
<a name="242" href="#242">242</a>         <em class="jxr_comment">/*</em>
<a name="243" href="#243">243</a> <em class="jxr_comment">         * now the stylesheet</em>
<a name="244" href="#244">244</a> <em class="jxr_comment">         */</em>
<a name="245" href="#245">245</a>         <strong class="jxr_keyword">try</strong>
<a name="246" href="#246">246</a>         {
<a name="247" href="#247">247</a>             log(<span class="jxr_string">"Loading stylesheet "</span> + stylesheet, Project.MSG_INFO);
<a name="248" href="#248">248</a>             dvsl.setStylesheet(stylesheet, stylesheetEncoding);
<a name="249" href="#249">249</a>         }
<a name="250" href="#250">250</a>         <strong class="jxr_keyword">catch</strong> (Exception ex)
<a name="251" href="#251">251</a>         {
<a name="252" href="#252">252</a>             log(<span class="jxr_string">"Failed to read stylesheet "</span> + stylesheet, Project.MSG_INFO);
<a name="253" href="#253">253</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(ex);
<a name="254" href="#254">254</a>         }
<a name="255" href="#255">255</a> 
<a name="256" href="#256">256</a>         <em class="jxr_comment">/*</em>
<a name="257" href="#257">257</a> <em class="jxr_comment">         *  now, if we were given a toolbox, set that up too</em>
<a name="258" href="#258">258</a> <em class="jxr_comment">         */</em>
<a name="259" href="#259">259</a>         toolboxProps = <strong class="jxr_keyword">new</strong> Properties();
<a name="260" href="#260">260</a> 
<a name="261" href="#261">261</a>         <strong class="jxr_keyword">try</strong>
<a name="262" href="#262">262</a>         {
<a name="263" href="#263">263</a>             <strong class="jxr_keyword">if</strong> (toolboxFile != <strong class="jxr_keyword">null</strong>)
<a name="264" href="#264">264</a>             {
<a name="265" href="#265">265</a>                 toolboxProps.load(<strong class="jxr_keyword">new</strong> FileInputStream(toolboxFile));
<a name="266" href="#266">266</a>             }
<a name="267" href="#267">267</a> 
<a name="268" href="#268">268</a>             <em class="jxr_comment">/*</em>
<a name="269" href="#269">269</a> <em class="jxr_comment">             *  Overlay any parameters</em>
<a name="270" href="#270">270</a> <em class="jxr_comment">             */</em>
<a name="271" href="#271">271</a>             <strong class="jxr_keyword">for</strong> (Enumeration e = toolAttr.elements(); e.hasMoreElements();)
<a name="272" href="#272">272</a>             {
<a name="273" href="#273">273</a>                 <a href="../../../org/apache/dvsl/DVSLTask.html">Tool</a> p = (Tool)e.nextElement();
<a name="274" href="#274">274</a>                 toolboxProps.setProperty(p.getName(), p.getValue());
<a name="275" href="#275">275</a>             }
<a name="276" href="#276">276</a> 
<a name="277" href="#277">277</a>             dvsl.setToolbox(toolboxProps);
<a name="278" href="#278">278</a>         }
<a name="279" href="#279">279</a>         <strong class="jxr_keyword">catch</strong>(Exception ee)
<a name="280" href="#280">280</a>         {
<a name="281" href="#281">281</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(<span class="jxr_string">"Error loading the toolbox : "</span> + ee);
<a name="282" href="#282">282</a>         }
<a name="283" href="#283">283</a> 
<a name="284" href="#284">284</a>         <em class="jxr_comment">/*</em>
<a name="285" href="#285">285</a> <em class="jxr_comment">         * if we have an in file and out then process them</em>
<a name="286" href="#286">286</a> <em class="jxr_comment">         */</em>
<a name="287" href="#287">287</a> 
<a name="288" href="#288">288</a>         <strong class="jxr_keyword">if</strong> (inFile != <strong class="jxr_keyword">null</strong> &amp;&amp; outFile != <strong class="jxr_keyword">null</strong>)
<a name="289" href="#289">289</a>         {
<a name="290" href="#290">290</a>             process(inFile, outFile, stylesheet);
<a name="291" href="#291">291</a>             <strong class="jxr_keyword">return</strong>;
<a name="292" href="#292">292</a>         }
<a name="293" href="#293">293</a> 
<a name="294" href="#294">294</a>         <em class="jxr_comment">/*</em>
<a name="295" href="#295">295</a> <em class="jxr_comment">         * if we get here, in and out have not been specified, we are</em>
<a name="296" href="#296">296</a> <em class="jxr_comment">         * in batch processing mode.</em>
<a name="297" href="#297">297</a> <em class="jxr_comment">         */</em>
<a name="298" href="#298">298</a> 
<a name="299" href="#299">299</a>         <em class="jxr_comment">/*</em>
<a name="300" href="#300">300</a> <em class="jxr_comment">         *   make sure Source directory exists...</em>
<a name="301" href="#301">301</a> <em class="jxr_comment">         */</em>
<a name="302" href="#302">302</a>         <strong class="jxr_keyword">if</strong> (destDir == <strong class="jxr_keyword">null</strong>)
<a name="303" href="#303">303</a>         {
<a name="304" href="#304">304</a>             String msg = <span class="jxr_string">"destdir attributes must be set!"</span>;
<a name="305" href="#305">305</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(msg);
<a name="306" href="#306">306</a>         }
<a name="307" href="#307">307</a> 
<a name="308" href="#308">308</a>         scanner = getDirectoryScanner(baseDir);
<a name="309" href="#309">309</a>         log(<span class="jxr_string">"Transforming into "</span>+destDir, Project.MSG_INFO);
<a name="310" href="#310">310</a> 
<a name="311" href="#311">311</a>         <em class="jxr_comment">/*</em>
<a name="312" href="#312">312</a> <em class="jxr_comment">         *  Process all the files marked for styling</em>
<a name="313" href="#313">313</a> <em class="jxr_comment">         */</em>
<a name="314" href="#314">314</a>         list = scanner.getIncludedFiles();
<a name="315" href="#315">315</a> 
<a name="316" href="#316">316</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0;i &lt; list.length; ++i)
<a name="317" href="#317">317</a>         {
<a name="318" href="#318">318</a>             process(baseDir, list[i], destDir, stylesheet);
<a name="319" href="#319">319</a>         }
<a name="320" href="#320">320</a> 
<a name="321" href="#321">321</a>         <em class="jxr_comment">/*</em>
<a name="322" href="#322">322</a> <em class="jxr_comment">         *  Process all the directoried marked for styling</em>
<a name="323" href="#323">323</a> <em class="jxr_comment">         */</em>
<a name="324" href="#324">324</a>         dirs = scanner.getIncludedDirectories();
<a name="325" href="#325">325</a> 
<a name="326" href="#326">326</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> j = 0;j &lt; dirs.length;++j)
<a name="327" href="#327">327</a>         {
<a name="328" href="#328">328</a>             list=<strong class="jxr_keyword">new</strong> File(baseDir,dirs[j]).list();
<a name="329" href="#329">329</a> 
<a name="330" href="#330">330</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0;i &lt; list.length;++i)
<a name="331" href="#331">331</a>             {
<a name="332" href="#332">332</a>                 process(baseDir, list[i], destDir, stylesheet);
<a name="333" href="#333">333</a>             }
<a name="334" href="#334">334</a>         }
<a name="335" href="#335">335</a>     } <em class="jxr_comment">//-- execute</em>
<a name="336" href="#336">336</a> 
<a name="337" href="#337">337</a>     <em class="jxr_javadoccomment">/**</em>
<a name="338" href="#338">338</a> <em class="jxr_javadoccomment">     * Set whether to check dependencies, or always generate.</em>
<a name="339" href="#339">339</a> <em class="jxr_javadoccomment">     * @param force false to check dependencies, true to always generate</em>
<a name="340" href="#340">340</a> <em class="jxr_javadoccomment">     */</em>
<a name="341" href="#341">341</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setForce(<strong class="jxr_keyword">boolean</strong> force)
<a name="342" href="#342">342</a>     {
<a name="343" href="#343">343</a>         <strong class="jxr_keyword">this</strong>.force = force;
<a name="344" href="#344">344</a>     }
<a name="345" href="#345">345</a> 
<a name="346" href="#346">346</a>     <em class="jxr_javadoccomment">/**</em>
<a name="347" href="#347">347</a> <em class="jxr_javadoccomment">     * Set the base directory.</em>
<a name="348" href="#348">348</a> <em class="jxr_javadoccomment">     * @param dir name of the base directory</em>
<a name="349" href="#349">349</a> <em class="jxr_javadoccomment">     */</em>
<a name="350" href="#350">350</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setBasedir(File dir)
<a name="351" href="#351">351</a>     {
<a name="352" href="#352">352</a>         baseDir = dir;
<a name="353" href="#353">353</a>     }
<a name="354" href="#354">354</a> 
<a name="355" href="#355">355</a>     <em class="jxr_javadoccomment">/**</em>
<a name="356" href="#356">356</a> <em class="jxr_javadoccomment">     * Set the destination directory where the generated</em>
<a name="357" href="#357">357</a> <em class="jxr_javadoccomment">     * files should be directed.</em>
<a name="358" href="#358">358</a> <em class="jxr_javadoccomment">     * @param dir name of the destination directory</em>
<a name="359" href="#359">359</a> <em class="jxr_javadoccomment">     */</em>
<a name="360" href="#360">360</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setDestdir(File dir)
<a name="361" href="#361">361</a>     {
<a name="362" href="#362">362</a>         destDir = dir;
<a name="363" href="#363">363</a>     }
<a name="364" href="#364">364</a> 
<a name="365" href="#365">365</a>     <em class="jxr_javadoccomment">/**</em>
<a name="366" href="#366">366</a> <em class="jxr_javadoccomment">     * Set the desired file extension to be used for the target files.</em>
<a name="367" href="#367">367</a> <em class="jxr_javadoccomment">     * If not specified, &amp;quot;&lt;code&gt;.html&lt;/code&gt;&amp;quot; is used.</em>
<a name="368" href="#368">368</a> <em class="jxr_javadoccomment">     * @param name the extension to use</em>
<a name="369" href="#369">369</a> <em class="jxr_javadoccomment">     */</em>
<a name="370" href="#370">370</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setExtension(String name)
<a name="371" href="#371">371</a>     {
<a name="372" href="#372">372</a>         targetExtension = name;
<a name="373" href="#373">373</a>     }
<a name="374" href="#374">374</a> 
<a name="375" href="#375">375</a>     <em class="jxr_javadoccomment">/**</em>
<a name="376" href="#376">376</a> <em class="jxr_javadoccomment">     * Sets the file to use for stylesheet.</em>
<a name="377" href="#377">377</a> <em class="jxr_javadoccomment">     * @param dvslFile stylesheet filename</em>
<a name="378" href="#378">378</a> <em class="jxr_javadoccomment">     */</em>
<a name="379" href="#379">379</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setStyle(File dvslFile)
<a name="380" href="#380">380</a>     {
<a name="381" href="#381">381</a>         <strong class="jxr_keyword">this</strong>.stylesheet = dvslFile;
<a name="382" href="#382">382</a>     }
<a name="383" href="#383">383</a> 
<a name="384" href="#384">384</a>     <em class="jxr_javadoccomment">/**</em>
<a name="385" href="#385">385</a> <em class="jxr_javadoccomment">     * Sets the encoding of stylesheet file.</em>
<a name="386" href="#386">386</a> <em class="jxr_javadoccomment">     * @param dvslFileEncoding encoding of stylesheet file</em>
<a name="387" href="#387">387</a> <em class="jxr_javadoccomment">     */</em>
<a name="388" href="#388">388</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setStyleEncoding(String dvslFileEncoding)
<a name="389" href="#389">389</a>     {
<a name="390" href="#390">390</a>         <strong class="jxr_keyword">this</strong>.stylesheetEncoding = dvslFileEncoding;
<a name="391" href="#391">391</a>     }
<a name="392" href="#392">392</a> 
<a name="393" href="#393">393</a>     <em class="jxr_javadoccomment">/**</em>
<a name="394" href="#394">394</a> <em class="jxr_javadoccomment">     * Sets the file to use for logging.  If not specified, all logging</em>
<a name="395" href="#395">395</a> <em class="jxr_javadoccomment">     * is directed through Ant's logging system.</em>
<a name="396" href="#396">396</a> <em class="jxr_javadoccomment">     * @param logFile logging filename</em>
<a name="397" href="#397">397</a> <em class="jxr_javadoccomment">     */</em>
<a name="398" href="#398">398</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLogFile(File logFile)
<a name="399" href="#399">399</a>     {
<a name="400" href="#400">400</a>         <strong class="jxr_keyword">this</strong>.logFile = logFile;
<a name="401" href="#401">401</a>     }
<a name="402" href="#402">402</a> 
<a name="403" href="#403">403</a>     <em class="jxr_javadoccomment">/**</em>
<a name="404" href="#404">404</a> <em class="jxr_javadoccomment">     * Sets the Toolbox properties file to use.</em>
<a name="405" href="#405">405</a> <em class="jxr_javadoccomment">     * @param toolboxFile properties file of tools</em>
<a name="406" href="#406">406</a> <em class="jxr_javadoccomment">     * @deprecated use setToolboxFile instead</em>
<a name="407" href="#407">407</a> <em class="jxr_javadoccomment">     */</em>
<a name="408" href="#408">408</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setToolbox(String toolboxFile)
<a name="409" href="#409">409</a>     {
<a name="410" href="#410">410</a>         log(<span class="jxr_string">"DEPRECATED - use the toolboxfile attribute instead"</span>);
<a name="411" href="#411">411</a>         <strong class="jxr_keyword">this</strong>.toolboxFile = <strong class="jxr_keyword">new</strong> File(toolboxFile);
<a name="412" href="#412">412</a>     }
<a name="413" href="#413">413</a> 
<a name="414" href="#414">414</a>     <em class="jxr_javadoccomment">/**</em>
<a name="415" href="#415">415</a> <em class="jxr_javadoccomment">     * Sets the Toolbox properties file to use.</em>
<a name="416" href="#416">416</a> <em class="jxr_javadoccomment">     * @param toolboxFile properties file of tools</em>
<a name="417" href="#417">417</a> <em class="jxr_javadoccomment">     */</em>
<a name="418" href="#418">418</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setToolboxFile(File toolboxFile)
<a name="419" href="#419">419</a>     {
<a name="420" href="#420">420</a>         <strong class="jxr_keyword">this</strong>.toolboxFile = toolboxFile;
<a name="421" href="#421">421</a>     }
<a name="422" href="#422">422</a> 
<a name="423" href="#423">423</a>     <em class="jxr_javadoccomment">/**</em>
<a name="424" href="#424">424</a> <em class="jxr_javadoccomment">     * Allows the user to specify a class that implements</em>
<a name="425" href="#425">425</a> <em class="jxr_javadoccomment">     * {@link java.util.Properties} that will have user properties</em>
<a name="426" href="#426">426</a> <em class="jxr_javadoccomment">     * to be used when setting up DVSL.</em>
<a name="427" href="#427">427</a> <em class="jxr_javadoccomment">     * @param classname Velocity configuration class to load</em>
<a name="428" href="#428">428</a> <em class="jxr_javadoccomment">     */</em>
<a name="429" href="#429">429</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setVelocityConfigClass(String classname)
<a name="430" href="#430">430</a>     {
<a name="431" href="#431">431</a>         velConfigClass = classname;
<a name="432" href="#432">432</a>     }
<a name="433" href="#433">433</a> 
<a name="434" href="#434">434</a>     <em class="jxr_javadoccomment">/**</em>
<a name="435" href="#435">435</a> <em class="jxr_javadoccomment">     * Sets an output file</em>
<a name="436" href="#436">436</a> <em class="jxr_javadoccomment">     * @param outFile output file</em>
<a name="437" href="#437">437</a> <em class="jxr_javadoccomment">     */</em>
<a name="438" href="#438">438</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setOut(File outFile)
<a name="439" href="#439">439</a>     {
<a name="440" href="#440">440</a>         <strong class="jxr_keyword">this</strong>.outFile = outFile;
<a name="441" href="#441">441</a>     }
<a name="442" href="#442">442</a> 
<a name="443" href="#443">443</a>     <em class="jxr_javadoccomment">/**</em>
<a name="444" href="#444">444</a> <em class="jxr_javadoccomment">     * Sets an input xml file to be styled</em>
<a name="445" href="#445">445</a> <em class="jxr_javadoccomment">     * @param inFile input file</em>
<a name="446" href="#446">446</a> <em class="jxr_javadoccomment">     */</em>
<a name="447" href="#447">447</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setIn(File inFile)
<a name="448" href="#448">448</a>     {
<a name="449" href="#449">449</a>         <strong class="jxr_keyword">this</strong>.inFile = inFile;
<a name="450" href="#450">450</a>     }
<a name="451" href="#451">451</a> 
<a name="452" href="#452">452</a>     <em class="jxr_javadoccomment">/**</em>
<a name="453" href="#453">453</a> <em class="jxr_javadoccomment">     * Sets the character encoding for output files.  If not specified,</em>
<a name="454" href="#454">454</a> <em class="jxr_javadoccomment">     * output is written with UTF-8 encodin6g.</em>
<a name="455" href="#455">455</a> <em class="jxr_javadoccomment">     * @param encoding Output encoding</em>
<a name="456" href="#456">456</a> <em class="jxr_javadoccomment">     */</em>
<a name="457" href="#457">457</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setOutputEncoding(String encoding)
<a name="458" href="#458">458</a>     {
<a name="459" href="#459">459</a>         <strong class="jxr_keyword">if</strong> (encoding != <strong class="jxr_keyword">null</strong>)
<a name="460" href="#460">460</a>             <strong class="jxr_keyword">this</strong>.outputEncoding = encoding;
<a name="461" href="#461">461</a>     }
<a name="462" href="#462">462</a> 
<a name="463" href="#463">463</a>     <em class="jxr_javadoccomment">/**</em>
<a name="464" href="#464">464</a> <em class="jxr_javadoccomment">     * Set the classpath to load the Processor through (attribute).</em>
<a name="465" href="#465">465</a> <em class="jxr_javadoccomment">     * @param classpath classpath to set</em>
<a name="466" href="#466">466</a> <em class="jxr_javadoccomment">     */</em>
<a name="467" href="#467">467</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setClasspath(Path classpath)
<a name="468" href="#468">468</a>     {
<a name="469" href="#469">469</a>         createClasspath().append(classpath);
<a name="470" href="#470">470</a>     }
<a name="471" href="#471">471</a> 
<a name="472" href="#472">472</a>     <em class="jxr_javadoccomment">/**</em>
<a name="473" href="#473">473</a> <em class="jxr_javadoccomment">     * Set the classpath to load the Processor through (nested element).</em>
<a name="474" href="#474">474</a> <em class="jxr_javadoccomment">     */</em>
<a name="475" href="#475">475</a>     <strong class="jxr_keyword">public</strong> Path createClasspath()
<a name="476" href="#476">476</a>     {
<a name="477" href="#477">477</a>         <strong class="jxr_keyword">if</strong> (classpath == <strong class="jxr_keyword">null</strong>)
<a name="478" href="#478">478</a>         {
<a name="479" href="#479">479</a>             classpath = <strong class="jxr_keyword">new</strong> Path(getProject());
<a name="480" href="#480">480</a>         }
<a name="481" href="#481">481</a>         <strong class="jxr_keyword">return</strong> classpath.createPath();
<a name="482" href="#482">482</a>     }
<a name="483" href="#483">483</a> 
<a name="484" href="#484">484</a>     <em class="jxr_javadoccomment">/**</em>
<a name="485" href="#485">485</a> <em class="jxr_javadoccomment">     * Set the classpath to load the Processor through via reference</em>
<a name="486" href="#486">486</a> <em class="jxr_javadoccomment">     * (attribute).</em>
<a name="487" href="#487">487</a> <em class="jxr_javadoccomment">     * @param r reference to classpath</em>
<a name="488" href="#488">488</a> <em class="jxr_javadoccomment">     */</em>
<a name="489" href="#489">489</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setClasspathRef(Reference r)
<a name="490" href="#490">490</a>     {
<a name="491" href="#491">491</a>         createClasspath().setRefid(r);
<a name="492" href="#492">492</a>     }
<a name="493" href="#493">493</a> 
<a name="494" href="#494">494</a>     <em class="jxr_javadoccomment">/**</em>
<a name="495" href="#495">495</a> <em class="jxr_javadoccomment">     *  Sets the flag to have DVSL use a validating parser for the</em>
<a name="496" href="#496">496</a> <em class="jxr_javadoccomment">     *  input documents</em>
<a name="497" href="#497">497</a> <em class="jxr_javadoccomment">     */</em>
<a name="498" href="#498">498</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setValidatingParser(<strong class="jxr_keyword">boolean</strong> validating)
<a name="499" href="#499">499</a>     {
<a name="500" href="#500">500</a>         <strong class="jxr_keyword">if</strong> (validating == <strong class="jxr_keyword">true</strong>)
<a name="501" href="#501">501</a>         {
<a name="502" href="#502">502</a>             log(<span class="jxr_string">"Parser is validating."</span>);
<a name="503" href="#503">503</a>         }
<a name="504" href="#504">504</a> 
<a name="505" href="#505">505</a>         validatingParser = validating;
<a name="506" href="#506">506</a>     }
<a name="507" href="#507">507</a> 
<a name="508" href="#508">508</a>     <em class="jxr_javadoccomment">/**</em>
<a name="509" href="#509">509</a> <em class="jxr_javadoccomment">     *  Sets an application value from outside of the DVSL task</em>
<a name="510" href="#510">510</a> <em class="jxr_javadoccomment">     */</em>
<a name="511" href="#511">511</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putAppValue(String name, Object o)
<a name="512" href="#512">512</a>     {
<a name="513" href="#513">513</a>         dvsl.putAppValue(name,o);
<a name="514" href="#514">514</a>     }
<a name="515" href="#515">515</a> 
<a name="516" href="#516">516</a>     <em class="jxr_javadoccomment">/**</em>
<a name="517" href="#517">517</a> <em class="jxr_javadoccomment">     * Processes the given input XML file and stores the result</em>
<a name="518" href="#518">518</a> <em class="jxr_javadoccomment">     * in the given resultFile.</em>
<a name="519" href="#519">519</a> <em class="jxr_javadoccomment">     */</em>
<a name="520" href="#520">520</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> process(File baseDir, String xmlFile, File destDir,
<a name="521" href="#521">521</a>                          File stylesheet)
<a name="522" href="#522">522</a>         <strong class="jxr_keyword">throws</strong> BuildException
<a name="523" href="#523">523</a>     {
<a name="524" href="#524">524</a> 
<a name="525" href="#525">525</a>         String fileExt=targetExtension;
<a name="526" href="#526">526</a>         File   outFile=<strong class="jxr_keyword">null</strong>;
<a name="527" href="#527">527</a>         File   inFile=<strong class="jxr_keyword">null</strong>;
<a name="528" href="#528">528</a> 
<a name="529" href="#529">529</a>         <strong class="jxr_keyword">try</strong>
<a name="530" href="#530">530</a>         {
<a name="531" href="#531">531</a>             <strong class="jxr_keyword">long</strong> styleSheetLastModified = stylesheet.lastModified();
<a name="532" href="#532">532</a>             inFile = <strong class="jxr_keyword">new</strong> File(baseDir,xmlFile);
<a name="533" href="#533">533</a>             <strong class="jxr_keyword">int</strong> dotPos = xmlFile.lastIndexOf('.');
<a name="534" href="#534">534</a> 
<a name="535" href="#535">535</a>             dvsl.putAppValue(INFILENAME, xmlFile);
<a name="536" href="#536">536</a> 
<a name="537" href="#537">537</a>             String outfilename;
<a name="538" href="#538">538</a> 
<a name="539" href="#539">539</a>             <strong class="jxr_keyword">if</strong> (dotPos &gt; 0)
<a name="540" href="#540">540</a>             {
<a name="541" href="#541">541</a>                 outfilename = xmlFile.substring(0, xmlFile.lastIndexOf('.'))
<a name="542" href="#542">542</a>                          + fileExt;
<a name="543" href="#543">543</a>                 outFile = <strong class="jxr_keyword">new</strong> File(destDir, outfilename);
<a name="544" href="#544">544</a>             }
<a name="545" href="#545">545</a>             <strong class="jxr_keyword">else</strong>
<a name="546" href="#546">546</a>             {
<a name="547" href="#547">547</a>                 outfilename = xmlFile + fileExt;
<a name="548" href="#548">548</a>                 outFile = <strong class="jxr_keyword">new</strong> File(destDir, outfilename);
<a name="549" href="#549">549</a>             }
<a name="550" href="#550">550</a> 
<a name="551" href="#551">551</a>             dvsl.putAppValue(OUTFILENAME, outfilename);
<a name="552" href="#552">552</a> 
<a name="553" href="#553">553</a>             <strong class="jxr_keyword">if</strong> (force ||
<a name="554" href="#554">554</a>                 inFile.lastModified() &gt; outFile.lastModified() ||
<a name="555" href="#555">555</a>                 styleSheetLastModified &gt; outFile.lastModified())
<a name="556" href="#556">556</a>             {
<a name="557" href="#557">557</a>                 ensureDirectoryFor(outFile);
<a name="558" href="#558">558</a>                 log(<span class="jxr_string">"Processing "</span>+inFile+<span class="jxr_string">" to "</span>+outFile, Project.MSG_INFO);
<a name="559" href="#559">559</a>                 <strong class="jxr_keyword">long</strong> time = transform(inFile, outFile);
<a name="560" href="#560">560</a>                 log(<span class="jxr_string">"Processed "</span>+inFile+<span class="jxr_string">" in "</span>+time+<span class="jxr_string">" ms."</span>, Project.MSG_VERBOSE);
<a name="561" href="#561">561</a>             }
<a name="562" href="#562">562</a>         }
<a name="563" href="#563">563</a>         <strong class="jxr_keyword">catch</strong> (Exception ex)
<a name="564" href="#564">564</a>         {
<a name="565" href="#565">565</a>             <em class="jxr_comment">/*</em>
<a name="566" href="#566">566</a> <em class="jxr_comment">             * If failed to process document, must delete target document,</em>
<a name="567" href="#567">567</a> <em class="jxr_comment">             * or it will not attempt to process it the second time</em>
<a name="568" href="#568">568</a> <em class="jxr_comment">             */</em>
<a name="569" href="#569">569</a> 
<a name="570" href="#570">570</a>             log(<span class="jxr_string">"Failed to process "</span> + inFile, Project.MSG_INFO);
<a name="571" href="#571">571</a> 
<a name="572" href="#572">572</a>             <strong class="jxr_keyword">if</strong> (outFile != <strong class="jxr_keyword">null</strong>)
<a name="573" href="#573">573</a>             {
<a name="574" href="#574">574</a>                 outFile.delete();
<a name="575" href="#575">575</a>             }
<a name="576" href="#576">576</a> 
<a name="577" href="#577">577</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(ex);
<a name="578" href="#578">578</a>         }
<a name="579" href="#579">579</a>     }
<a name="580" href="#580">580</a> 
<a name="581" href="#581">581</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> process(File inFile, File outFile, File stylesheet)
<a name="582" href="#582">582</a>             <strong class="jxr_keyword">throws</strong> BuildException
<a name="583" href="#583">583</a>     {
<a name="584" href="#584">584</a>         <strong class="jxr_keyword">try</strong>
<a name="585" href="#585">585</a>         {
<a name="586" href="#586">586</a>             <strong class="jxr_keyword">long</strong> styleSheetLastModified = stylesheet.lastModified();
<a name="587" href="#587">587</a> 
<a name="588" href="#588">588</a>             log(<span class="jxr_string">"In file "</span>+inFile+<span class="jxr_string">" time: "</span> + inFile.lastModified() ,
<a name="589" href="#589">589</a>                     Project.MSG_DEBUG);
<a name="590" href="#590">590</a>             log(<span class="jxr_string">"Out file "</span>+outFile+<span class="jxr_string">" time: "</span> + outFile.lastModified() ,
<a name="591" href="#591">591</a>                     Project.MSG_DEBUG);
<a name="592" href="#592">592</a>             log(<span class="jxr_string">"Style file "</span>+stylesheet+<span class="jxr_string">" time: "</span> + styleSheetLastModified ,
<a name="593" href="#593">593</a>                     Project.MSG_DEBUG);
<a name="594" href="#594">594</a> 
<a name="595" href="#595">595</a>             <strong class="jxr_keyword">if</strong> (force ||
<a name="596" href="#596">596</a>                 inFile.lastModified() &gt; outFile.lastModified() ||
<a name="597" href="#597">597</a>                 styleSheetLastModified &gt; outFile.lastModified())
<a name="598" href="#598">598</a>             {
<a name="599" href="#599">599</a>                 ensureDirectoryFor(outFile);
<a name="600" href="#600">600</a>                 log(<span class="jxr_string">"Processing "</span> + inFile + <span class="jxr_string">" to "</span> + outFile, Project.MSG_INFO);
<a name="601" href="#601">601</a>                 <strong class="jxr_keyword">long</strong> time = transform(inFile, outFile);
<a name="602" href="#602">602</a>                 log(<span class="jxr_string">"Processed "</span>+inFile+<span class="jxr_string">" in "</span>+time+<span class="jxr_string">" ms."</span>, Project.MSG_VERBOSE);
<a name="603" href="#603">603</a>             }
<a name="604" href="#604">604</a>         }
<a name="605" href="#605">605</a>         <strong class="jxr_keyword">catch</strong> (Exception ex)
<a name="606" href="#606">606</a>         {
<a name="607" href="#607">607</a>             log(<span class="jxr_string">"Failed to process "</span> + inFile, Project.MSG_INFO);
<a name="608" href="#608">608</a> 
<a name="609" href="#609">609</a>             <strong class="jxr_keyword">if</strong>(outFile!=<strong class="jxr_keyword">null</strong>)
<a name="610" href="#610">610</a>             {
<a name="611" href="#611">611</a>                 outFile.delete();
<a name="612" href="#612">612</a>             }
<a name="613" href="#613">613</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(ex);
<a name="614" href="#614">614</a>         }
<a name="615" href="#615">615</a>     }
<a name="616" href="#616">616</a> 
<a name="617" href="#617">617</a>     <em class="jxr_javadoccomment">/**</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">     * Does the actual transform</em>
<a name="620" href="#620">620</a> <em class="jxr_javadoccomment">     * &lt;/p&gt;</em>
<a name="621" href="#621">621</a> <em class="jxr_javadoccomment">     *</em>
<a name="622" href="#622">622</a> <em class="jxr_javadoccomment">     * @param inFile  XML document source</em>
<a name="623" href="#623">623</a> <em class="jxr_javadoccomment">     * @param outFile File for transformed input</em>
<a name="624" href="#624">624</a> <em class="jxr_javadoccomment">     * @return elapsed time in ms. for transformation</em>
<a name="625" href="#625">625</a> <em class="jxr_javadoccomment">     */</em>
<a name="626" href="#626">626</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> transform(File inFile, File outFile)
<a name="627" href="#627">627</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="628" href="#628">628</a>     {
<a name="629" href="#629">629</a>         BufferedWriter writer =
<a name="630" href="#630">630</a>                 <strong class="jxr_keyword">new</strong> BufferedWriter(<strong class="jxr_keyword">new</strong> OutputStreamWriter(
<a name="631" href="#631">631</a>                                        <strong class="jxr_keyword">new</strong> FileOutputStream(outFile),
<a name="632" href="#632">632</a>                                            outputEncoding));
<a name="633" href="#633">633</a> 
<a name="634" href="#634">634</a>         <strong class="jxr_keyword">long</strong> time = dvsl.transform(inFile, writer);
<a name="635" href="#635">635</a>         writer.close();
<a name="636" href="#636">636</a>         <strong class="jxr_keyword">return</strong> time;
<a name="637" href="#637">637</a>     }
<a name="638" href="#638">638</a> 
<a name="639" href="#639">639</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> ensureDirectoryFor(File targetFile) <strong class="jxr_keyword">throws</strong> BuildException
<a name="640" href="#640">640</a>     {
<a name="641" href="#641">641</a>         File directory = <strong class="jxr_keyword">new</strong> File(targetFile.getParent());
<a name="642" href="#642">642</a> 
<a name="643" href="#643">643</a>         <strong class="jxr_keyword">if</strong> (!directory.exists())
<a name="644" href="#644">644</a>         {
<a name="645" href="#645">645</a>             <strong class="jxr_keyword">if</strong> (!directory.mkdirs())
<a name="646" href="#646">646</a>             {
<a name="647" href="#647">647</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(<span class="jxr_string">"Unable to create directory: "</span>
<a name="648" href="#648">648</a>                                          + directory.getAbsolutePath());
<a name="649" href="#649">649</a>             }
<a name="650" href="#650">650</a>         }
<a name="651" href="#651">651</a>     }
<a name="652" href="#652">652</a> 
<a name="653" href="#653">653</a>     <em class="jxr_javadoccomment">/**</em>
<a name="654" href="#654">654</a> <em class="jxr_javadoccomment">     * support for &amp;lt;tool&amp;gt; nested element</em>
<a name="655" href="#655">655</a> <em class="jxr_javadoccomment">     */</em>
<a name="656" href="#656">656</a>     <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/dvsl/DVSLTask.html">Tool</a> createTool()
<a name="657" href="#657">657</a>     {
<a name="658" href="#658">658</a>         <a href="../../../org/apache/dvsl/DVSLTask.html">Tool</a> p = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/dvsl/DVSLTask.html">Tool</a>();
<a name="659" href="#659">659</a>         toolAttr.addElement(p);
<a name="660" href="#660">660</a>         <strong class="jxr_keyword">return</strong> p;
<a name="661" href="#661">661</a>     }
<a name="662" href="#662">662</a> 
<a name="663" href="#663">663</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/dvsl/DVSLTask.html">Tool</a>
<a name="664" href="#664">664</a>     {
<a name="665" href="#665">665</a>         <strong class="jxr_keyword">private</strong> String name = <strong class="jxr_keyword">null</strong>;
<a name="666" href="#666">666</a>         <strong class="jxr_keyword">private</strong> String value = <strong class="jxr_keyword">null</strong>;
<a name="667" href="#667">667</a> 
<a name="668" href="#668">668</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setName(String name)
<a name="669" href="#669">669</a>         {
<a name="670" href="#670">670</a>             <strong class="jxr_keyword">this</strong>.name = name;
<a name="671" href="#671">671</a>         }
<a name="672" href="#672">672</a> 
<a name="673" href="#673">673</a>         <strong class="jxr_keyword">public</strong> String getName() <strong class="jxr_keyword">throws</strong> BuildException
<a name="674" href="#674">674</a>         {
<a name="675" href="#675">675</a>             <strong class="jxr_keyword">if</strong> (name == <strong class="jxr_keyword">null</strong>)
<a name="676" href="#676">676</a>             {
<a name="677" href="#677">677</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(<span class="jxr_string">"Name attribute is missing."</span>);
<a name="678" href="#678">678</a>             }
<a name="679" href="#679">679</a>             <strong class="jxr_keyword">return</strong> name;
<a name="680" href="#680">680</a>         }
<a name="681" href="#681">681</a> 
<a name="682" href="#682">682</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setValue(String value)
<a name="683" href="#683">683</a>         {
<a name="684" href="#684">684</a>             <strong class="jxr_keyword">this</strong>.value = value;
<a name="685" href="#685">685</a>         }
<a name="686" href="#686">686</a> 
<a name="687" href="#687">687</a>         <strong class="jxr_keyword">public</strong> String getValue() <strong class="jxr_keyword">throws</strong> BuildException
<a name="688" href="#688">688</a>         {
<a name="689" href="#689">689</a>             <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>)
<a name="690" href="#690">690</a>             {
<a name="691" href="#691">691</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(<span class="jxr_string">"value for attribute for "</span> + getName() + <span class="jxr_string">" is missing."</span>);
<a name="692" href="#692">692</a>             }
<a name="693" href="#693">693</a>             <strong class="jxr_keyword">return</strong> value;
<a name="694" href="#694">694</a>         }
<a name="695" href="#695">695</a>     }
<a name="696" href="#696">696</a> 
<a name="697" href="#697">697</a>     <em class="jxr_javadoccomment">/**</em>
<a name="698" href="#698">698</a> <em class="jxr_javadoccomment">     *  support for &amp;lt;velconfig&amp;gt; nested element</em>
<a name="699" href="#699">699</a> <em class="jxr_javadoccomment">     */</em>
<a name="700" href="#700">700</a>     <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/dvsl/DVSLTask.html">VelocityConfig</a> createVelConfig()
<a name="701" href="#701">701</a>     {
<a name="702" href="#702">702</a>         <a href="../../../org/apache/dvsl/DVSLTask.html">VelocityConfig</a> p = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/dvsl/DVSLTask.html">VelocityConfig</a>();
<a name="703" href="#703">703</a>         velConfigAttr.addElement(p);
<a name="704" href="#704">704</a>         <strong class="jxr_keyword">return</strong> p;
<a name="705" href="#705">705</a>     }
<a name="706" href="#706">706</a> 
<a name="707" href="#707">707</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/dvsl/DVSLTask.html">VelocityConfig</a>
<a name="708" href="#708">708</a>     {
<a name="709" href="#709">709</a>         <strong class="jxr_keyword">private</strong> String name = <strong class="jxr_keyword">null</strong>;
<a name="710" href="#710">710</a>         <strong class="jxr_keyword">private</strong> String value = <strong class="jxr_keyword">null</strong>;
<a name="711" href="#711">711</a> 
<a name="712" href="#712">712</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setName(String name)
<a name="713" href="#713">713</a>         {
<a name="714" href="#714">714</a>             <strong class="jxr_keyword">this</strong>.name = name;
<a name="715" href="#715">715</a>         }
<a name="716" href="#716">716</a> 
<a name="717" href="#717">717</a>         <strong class="jxr_keyword">public</strong> String getName() <strong class="jxr_keyword">throws</strong> BuildException
<a name="718" href="#718">718</a>         {
<a name="719" href="#719">719</a>             <strong class="jxr_keyword">if</strong> (name == <strong class="jxr_keyword">null</strong>)
<a name="720" href="#720">720</a>             {
<a name="721" href="#721">721</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(<span class="jxr_string">"Name attribute is missing."</span>);
<a name="722" href="#722">722</a>             }
<a name="723" href="#723">723</a>             <strong class="jxr_keyword">return</strong> name;
<a name="724" href="#724">724</a>         }
<a name="725" href="#725">725</a> 
<a name="726" href="#726">726</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setValue(String value)
<a name="727" href="#727">727</a>         {
<a name="728" href="#728">728</a>             <strong class="jxr_keyword">this</strong>.value = value;
<a name="729" href="#729">729</a>         }
<a name="730" href="#730">730</a> 
<a name="731" href="#731">731</a>         <strong class="jxr_keyword">public</strong> String getValue() <strong class="jxr_keyword">throws</strong> BuildException
<a name="732" href="#732">732</a>         {
<a name="733" href="#733">733</a>             <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>)
<a name="734" href="#734">734</a>             {
<a name="735" href="#735">735</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BuildException(<span class="jxr_string">"Value attribute is missing."</span>);
<a name="736" href="#736">736</a>             }
<a name="737" href="#737">737</a>             <strong class="jxr_keyword">return</strong> value;
<a name="738" href="#738">738</a>         }
<a name="739" href="#739">739</a>     }
<a name="740" href="#740">740</a> 
<a name="741" href="#741">741</a>     <em class="jxr_javadoccomment">/**</em>
<a name="742" href="#742">742</a> <em class="jxr_javadoccomment">     * Set the output type to use for the transformation.  Only "xml" (the</em>
<a name="743" href="#743">743</a> <em class="jxr_javadoccomment">     * default) is guaranteed to work for all parsers.  Xalan2 also</em>
<a name="744" href="#744">744</a> <em class="jxr_javadoccomment">     * supports "html" and "text".&lt;br&gt;</em>
<a name="745" href="#745">745</a> <em class="jxr_javadoccomment">     * &lt;i&gt;Not currently implemented.&lt;/i&gt;</em>
<a name="746" href="#746">746</a> <em class="jxr_javadoccomment">     * @param type the output method to use</em>
<a name="747" href="#747">747</a> <em class="jxr_javadoccomment">     */</em>
<a name="748" href="#748">748</a>     <em class="jxr_comment">/*</em>
<a name="749" href="#749">749</a> <em class="jxr_comment">    public void setOutputtype(String type) {</em>
<a name="750" href="#750">750</a> <em class="jxr_comment">        this.outputtype = type;</em>
<a name="751" href="#751">751</a> <em class="jxr_comment">    }</em>
<a name="752" href="#752">752</a> <em class="jxr_comment">    */</em>
<a name="753" href="#753">753</a> 
<a name="754" href="#754">754</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

